일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- EnvSub
- autohotkey
- 함수
- 배열
- SetControlDelay
- Blocks
- SetEnv
- 식
- IfInString
- ControlGetText
- EnvDiv
- Threads
- EnvAdd
- 식의 설명
- if(식)
- StringGetPos
- Menu
- SetKeyDelay
- EnvSet
- ControlSend
- if
- SetTitleMatchMode
- DetectHiddenWindows
- IfWinExist
- MouseClick
- EnvMult
- IF (식)
- API
- SetMouseDelay
- Var:=식
- Today
- Total
ㄴrㅎnㅂrㄹrㄱi
RegEnumValue(A) 본문
RegEnumValue(A)
지정된 레지스트리 키가 가지는 값을 열거합니다.이 함수는, 불려 갈 때마다,1개의 값의 이름과 대응하는 값의 데이터를 취득합니다.
LONG RegEnumValueA( HKEY hKey, // 키의 핸들 DWORD dwIndex, // 값의 인덱스 PTSTR pValueName, // 값의 이름을 격납하는 버퍼 PDWORD pcbValueName, // lpValueName의 사이즈를 넣은 변수 PDWORD pReserved, // 예약(NULL(을)를 지정) PTSTR pType, // 값의 타입을 격납하는 버퍼 PBYTE pData, // 값의 데이터를 격납하는 버퍼 PDWORD pcbData // lpData의 사이즈를 넣은 변수 );
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 - dwIndex
-
취득하는 값의 0 (으)로부터 시작되는 인덱스를 지정합니다.
- pValueName
-
값의 이름을 격납하기 위한 버퍼의 주소를 지정합니다.
- pcbValueName
-
pValueName 파라미터로 나타내지는 버퍼의 아르바이트수(Unicode 판의 경우는 문자수) 단위의 사이즈를 격납한 변수의 주소를 지정합니다.함수가 제어를 돌려주면, pValueName 파라미터의 버퍼에 카피된 문자열의 아르바이트수(Unicode 판의 경우는 문자수)가 이 변수에 격납됩니다.
- pReserved
-
예약되고 있습니다. 0 (을)를 지정하지 않으면 안됩니다.
- pType
-
값의 데이터의 형태(을)를 격납하기 위한 변수의 주소를 지정합니다.함수가 제어를 돌려주면, 값의 데이터의 형태를 나타내는 값이 격납됩니다.값의 데이터의 형태에 대한 정보가 불요의 경우는 0 (NULL) (을)를 지정할 수 있습니다.
- pData
-
값의 데이터를 격납하기 위한 버퍼의 주소를 지정합니다.값의 데이터가 불요의 경우는 0 (NULL) (을)를 지정할 수 있습니다.
- pcbData
-
pData 파라미터로 나타내지는 버퍼의 아르바이트 단위의 사이즈를 격납한 변수의 주소를 지정합니다.함수가 제어를 돌려주면, 버퍼에 격납된 데이터의 아르바이트수가 격납됩니다. pData 파라미터에 0 (NULL) (을)를 지정했을 경우는, 이 파라미터에 0 (NULL) (을)를 지정할 수 있습니다.
반환값
성공하면 0 (ERROR_SUCCESS) 하지만 돌아갑니다.
실패하면 0 이외의 에러 코드가 돌아갑니다.이 에러 코드와 FORMAT_MESSAGE_FROM_SYSTEM 플래그를 지정해 FormatMessage 함수를 호출하는 것으로, 에러 메세지를 취득할 수 있습니다.
해설
값을 열거하려면 , 우선 dwIndex 파라미터에 0 (을)를 지정하고 나서 RegEnumValue 함수를 호출합니다.이후, dwIndex 파라미터를 인크리먼트(increment)(1두개가산) 하면서 RegEnumValue 함수를 호출합니다.이 조작을, 모든 값이 열거될 때까지(RegEnumValue 함수가 반환값 259 (ERROR_NO_MORE_ITEMS) (을)를 돌려줄 때까지) 반복합니다.
반대로, 최초의 함수 호출시에 dwIndex 파라미터에 마지막 값의 인덱스를 지정해, 인덱스가 0 (이)가 될 때까지 dwIndex 파라미터를 감소(1두개감산) 하면서 함수를 호출해 갈 수도 있습니다.이 때, 마지막 값의 인덱스를 취득하려면 RegQueryInfoKey 함수를 사용합니다.
지정된 레지스트리 키가 가지는 값으로 가장 긴 값의 이름의 길이를 취득하려면 RegQueryInfoKey 함수를 사용합니다.
대응 정보
Windows 95 이후 / Windows NT 3.1 이후
'API 관련 > Win32 API 함수' 카테고리의 다른 글
RegOpenKeyEx(A) (0) | 2007.11.08 |
---|---|
RegFlushKey (0) | 2007.11.08 |
RegEnumKeyEx(A) (0) | 2007.11.08 |
RegDeleteValue(A) (0) | 2007.11.08 |
RegDeleteKey(A) (0) | 2007.11.08 |