기능별로 묶어보는 레지스트리 함수.
4편. 기본값의 조회/수정
- by Tapitolife
키의 기본적인 조작을 해 보았다면 이제 기본 값을 다뤄봅니다.
기본 값이란 레지스트리 편집기 상에 나타나는 키(Key)가 갖고 있는 여러 개의 값 중에
이름이 없이 그냥 (기본 값)이라고만 나와 있는 것 문자열 형식의 값입니다.
뭐 이런 거죠
기본 값을 다루는 함수에는 다음과 같은 것이 있습니다.
— RegQueryValue
지정한 키의 기본 값을 가져옵니다.
LONG WINAPI RegQueryValue( |
○ hKey: 기본 값을 가져올 키의 상위 키를 지정합니다.
○ lpSubKey: hKey의 서브 키 중, 기본 값을 가져올 키의 이름을 지정합니다.
만일 NULL이거나 빈 문자열("")이라면 hKey 자체의 기본 값을 가져옵니다.
○ lpValue: 기본 값을 담아 올 버퍼입니다. NULL로 지정한다면 lpcbValue으로
지정된 기본 값의 크기를 내보냅니다.
○ lpcbValue: lpValue 버퍼의 크기를 일러주거나 가져옵니다. 단위는 바이트입니다.
▶ 반환: 성공하면 ERROR_SUCCESS를 반환합니다.
만일 lpValue 버퍼의 크기가 가져올 값의 크기보다 작다면 ERROR_MORE_DATA를 반환합니다.
그 외의 값에 대해서는 모두 winerror.h에 선언되어 있습니다.
— RegSetValue
지정한 키의 기본 값을 설정합니다.
LONG WINAPI RegSetValue( |
○ hKey: 기본 값을 설정할 키의 상위 키입니다.
○ lpSubKey: hKey의 서브키 중에서 기본 값을 설정할 키의 이름입니다.
NULL이나 빈 문자열("")로 지정하면 hKey 자체의 기본 값을 설정합니다.
○ dwType: 설정할 값의 타입입니다. 반드시 REG_SZ만을 써야 합니다.
○ lpData: 설정할 문자열 데이터입니다.
○ cbData: 문자열의 길이를 명시……하지는 않고 그냥 함수 내부에서 lpData 문자열의 길이를
계산한답니다. 즉, 이 값은 무시됩니다.
▶ 반환: 성공하면 ERROR_SUCCESS를 반환합니다.
만일 lpValue 버퍼의 크기가 가져올 값의 크기보다 작다면 ERROR_MORE_DATA를 반환합니다.
그 외의 값에 대해서는 모두 winerror.h에 선언되어 있습니다.
이 2가지 함수를 이용해 만들어 본 예제입니다.
regtest3.c |
#include <windows.h> |
실행 결과.
키가 생성 되었고 기본값이 잘 설정 되었습니다.
두 번째 테스트 역시 잘 되었습니다.
삭제까지 깔끔하게 되었네요.
'Application Programming Interface > Windows API' 카테고리의 다른 글
갈아만든 Windows API - #1. 도스와는 많이 다른 윈도우 프로그램 (0) | 2011.08.15 |
---|---|
기능별로 묶어보는 레지스트리 함수 – 5편. 값의 조회/추가/수정/삭제 (3) | 2011.02.06 |
기능별로 묶어보는 레지스트리 함수 – 3편. 키의 조회/생성/삭제 (0) | 2011.01.29 |
기능별로 묶어보는 레지스트리 함수 – 2편. 키의 열기/닫기 (0) | 2011.01.29 |
기능별로 묶어보는 레지스트리 함수 – 1편. 완전 간단 레지스트리 소개 (0) | 2011.01.29 |