레지스트리 키 생성

RegCreateKeyEx

2015. 3. 17. 18:10

레지스트리 키를 생성 또는 오픈한다.

* 키 이름은 대/소문자를 구분하지 않는다.  


- 출처 : MSDN


  • hKey

- 생성 또는 오픈 할 키의 루트(하이브)키, 또는 RegCreateKeyEx 나 RegOpenKeyEx로 반환된 키를 설정한다.

- 일반적으로 미리 정의되어 있는 루트(하이브)키 중 하나를 선택한다.

 

  • lpSubKey

- 생성 또는 오픈 할 하위 키를 전달한다.

- 이 값은 NULL이 될 수 없다.


  • Reserved

- 예약 영역으로 항상 0을 전달한다.


  • lpClass

- 사용자 정의 클래스 유형을 설정한다.

- 일반적으로 NULL을 설정한다.


  • dwOptions

- 옵션들 중 하나를 설정한다.

- 일반적으로 REG_OPTOIN_NON_VOLATILE(값을 파일에 기록하여 재부팅 시 지워지지 않음)를 설정한다.


  • samDesired

- 키에 대한 접근 권한을 설정한다.

- 일반적으로 KEY_ALL_ACCESS 권한을 설정한다.

- 64bit 운영체제에서 32bit 프로그램으로 이 함수를 호출할 경우 KEY_WOW64_64KEY 권한을 추가한다.(정확히 얘기하면 64bit 운영체제에서 64bit 프로그램과 32bit 프로그램은 서로 다른 경로에 레지스트리가 저장 되는데 이러한 차이 때문에32bit 프로그램이 64bit 레지스트리에 접근 할 시에는 KEY_WOW64_64KEY 권한을 요청하여 제대로 된 접근이 가능하고 반대로 64bit 프로그램이 32bit 레지스트리에 접근 할 시에는 KEY_WOW64_32KEY권한을 요청하여 제대로 된 접근을 할 수 있다.) 


  • lpSecurityAttributes

- 반환된 핸들을 자식 프로세스에게 상속할지 여부를 결정하는 SECURITY_ATTRIBUTES 구조체 변수의 주소를 설정한다.

- 상속하지 않을 경우 NULL을 설정한다.


  • phkResult

- 생성 또는 오픈 한 키에 접근할 수 있는 핸들을 저장 할 변수의 주소를 설정한다.


  • lpdwDisposition

- 생성 된 키 인지 또는 오픈된 키 인지에 대한 정보를 저장 할 변수의 주소를 설정한다.

- 해당 정보가 필요없을 시 NULL을 설정한다. 


Return value : 성공 시 ERROR_SUCCESS(0)을 반환하고, 실패 시 0이 아닌 Winerror.h에 정의 되어 있는 에러 코드를 반환한다.


Header : Winreg.h(include Windows.h)


DLL : Advapi32.dll


'Win32 API' 카테고리의 다른 글

RegFlushKey  (0) 2015.03.17
RegCloseKey  (0) 2015.03.17
Module32Next  (0) 2015.03.17
Module32First  (0) 2015.03.17
Thread32Next  (0) 2015.03.17

+ Recent posts