관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

RegQueryValueEx(A) 본문

API 관련/Win32 API 함수

RegQueryValueEx(A)

님투 2007. 11. 8. 23:20
반응형

RegQueryValueEx(A)

레지스트리 키로부터, 지정한 값의 데이터를 취득합니다.

LONG RegQueryValueExA(
    HKEY   hKey,        // 키의 핸들
    PCTSTR pValueName,  // 값의 이름
    PDWORD pReserved,   // 예약(NULL(을)를 지정)
    PDWORD pType,       // 데이터 타입을 격납하는 변수
    PBYTE  pData,       // 데이터를 격납하는 버퍼
    PDWORD pcbData      // 버퍼 사이즈를 넣은 변수
);

ADVAPI32.DLL

인수

hKey

현재 오픈되고 있는 키의 핸들을 지정합니다.이 핸들은 KEY_QUERY_VALUE 액세스를 가지고 있지 않으면 안됩니다.

다음의 정의가 끝난 키를 지정할 수도 있습니다.

정의가 끝난 키
0x80000000 HKEY_CLASSES_ROOT
0x80000001 HKEY_CURRENT_USER
0x80000002 HKEY_LOCAL_MACHINE
0x80000003 HKEY_USERS
0x80000004 Windows NT/2000/XP: HKEY_PERFORMANCE_DATA
0x80000005 HKEY_CURRENT_CONFIG
0x80000006 Windows 95/98/Me: HKEY_DYN_DATA
0x80000050 Windows XP: HKEY_PERFORMANCE_TEXT
0x80000060 Windows XP: HKEY_PERFORMANCE_NLSTEXT
pValueName

값의 이름을 나타내는 문자열의 주소를 지정합니다.

이 파라미터에 하늘의 문자열("")의 주소 또는 0 (NULL) (을)를 지정하면, 이름 없음의 값 또는 디폴트의 값이 있는 경우에는 그것이 취득됩니다.

Windows 95/98/Me: 각각의 키는 데이터를 가지지 않는 디폴트의 값을 가집니다. Windows 95 그럼, 키의 디폴트의 값의 데이터형은 항상 REG_SZ 이므로, 디폴트의 값으로는 dwType 파라미터에는 REG_SZ (을)를 지정하지 않으면 안됩니다. Windows 98/Me 그럼, 디폴트의 값의 형태는 초기 상태에서는 REG_SZ 그렇지만, RegSetValueEx 함수에는 어느 데이터형에서도 지정할 수 있습니다.

Windows NT/2000/XP: 초기 상태에서는 이름 없음의 값 또는 디폴트의 값을 가지지 않습니다.이름 없음의 값에는 어느 데이터형에서도 지정할 수 있습니다.

pReserved

예약되고 있습니다. 0 (NULL) (을)를 지정하지 않으면 안됩니다.

dwType

값의 데이터의 형태(을)를 격납하기 위한 변수의 주소를 지정합니다.함수가 제어를 돌려주면, 값의 데이터의 형태를 나타내는 값이 격납됩니다.값의 데이터의 형태에 대한 정보가 불요의 경우는 0 (NULL) (을)를 지정할 수 있습니다.

pData

값의 데이터를 받는 버퍼의 주소를 지정합니다.값의 데이터가 불요의 경우는 0 (NULL) (을)를 지정할 수 있습니다.

pcbData

pData 파라미터로 나타내지는 버퍼의 아르바이트 단위의 사이즈를 격납한 변수의 주소를 지정합니다.함수가 제어를 돌려주면, 버퍼에 격납된 데이터의 아르바이트수가 격납됩니다.데이터의 형태가 REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ 의 경우, 돌려주어지는 사이즈에는 종단 눌 문자의 분의 사이즈가 포함됩니다.

pData 파라미터에 0 (NULL) (을)를 지정했을 경우는, 이 파라미터에 0 (NULL) (을)를 지정할 수 있습니다.

버퍼가 너무 작을 때는, 필요한 아르바이트수가 격납되어 함수는 반환값 234 (ERROR_MORE_DATA) (을)를 돌려줍니다.이 경우는, pData 파라미터가 가리키는 버퍼의 내용은 미정도리입니다.

pData 파라미터에 0 (NULL) (을)를 지정해, 한편, pcbData 파라미터에 0 (NULL) 이외를 지정하면, 이 변수에는 필요한 아르바이트수가 격납되어 함수는 반환값 0 (ERROR_SUCCESS) (을)를 돌려줍니다.

반환값

성공하면 0 (ERROR_SUCCESS) 하지만 돌아갑니다.

실패하면 0 이외의 에러 코드가 돌아갑니다.이 에러 코드와 FORMAT_MESSAGE_FROM_SYSTEM 플래그를 지정해 FormatMessage 함수를 호출하는 것으로, 에러 메세지를 취득할 수 있습니다.

대응 정보

Windows 95 이후 / Windows NT 3.1 이후

반응형

'API 관련 > Win32 API 함수' 카테고리의 다른 글

ReleaseDC  (0) 2007.11.08
RegSetValueEx(A)  (0) 2007.11.08
RegOpenKeyEx(A)  (0) 2007.11.08
RegFlushKey  (0) 2007.11.08
RegEnumValue(A)  (0) 2007.11.08
Comments