본문 바로가기
Study/C++

RegQueryValueEx로 값이 구해지지 않는다??

by 뿡뿡대마왕 2011. 9. 28.
반응형

아오.....
분명 RegOpenKeyEx로 키핸들을 얻어서 RegQueryValueEx로 값을 얻는걸로 알고 있는데...
도대체 왜왜왜! 안구해지는걸까....;;;

DWORD dwtype =REG_MULTI_SZ , dwsize = 0;
....
.....
result = RegOpenKeyEx(HKEY_LOCAL_MACHINE,FullPath,NULL,KEY_ALL_ACCESS,&low_lank_key);

RegQueryValueEx(low_lank_key,TEXT("IPAddress"),0, NULL,(LPBYTE)getdata,&dwsize);
...생략....


이러면 분명 getdata에 값이 넣어지는 걸로 아는데 당최 데이터를 얻어오지 못하는 것이었다....;;

이걸로 삽질을 계속하고 있던 도중....엄청난 실수를...아오...

함수의 원형을 보면 아래와 같다.
LONG WINAPI RegQueryValueEx(
  __in         HKEY hKey,
  __in_opt     LPCTSTR lpValueName,
  __reserved   LPDWORD lpReserved,
  __out_opt    LPDWORD lpType,
  __out_opt    LPBYTE lpData,
  __inout_opt  LPDWORD lpcbData
);

여기서 맨 마지막 인자는 함수 호출 후 얻어온 데이터의 사이즈만을 받아오는게 아니라 lpData변수의

최대 사이즈도 알려주는 역활을 한다... 

그걸 0으로 설정해놨으니...값을 얻어올리가 없었던 것이었다...;;

아이구..ㅋㅋ;;

답을 얻게된 출처: http://blog.naver.com/PostView.nhn?blogId=rurounimk2&logNo=30093950962
 

 


반응형

댓글