인터넷/IT/프로그래밍
REG_EXPAND_SZ 타입에 대해서
coffee94
2015. 6. 18. 17:58
REG_EXPAND_SZ 는 REG_SZ랑 비슷하지만 추가로 %SystemRoot% 와 같은 Expand 문자열이 포함됩니다.
레지스트리 편집기에서 Source라는 이름의 데이터 값이 %SystemRoot% 로 저장되어 있다면..
다음과 같은 코드는..
WCHAR value[MAX_PATH];
DWORD length;
if ((lresult = ::RegGetValue(hkey, nullptr,
L"Source",
REG_EXPAND_SZ,
nullptr,
value,
&length)) == ERROR_SUCCESS)
C:\Windows 형태로 값을 가져오게 되며,
만약 레지스트리 편집기로 가져오는 값 그대로 가져오려면 아래처럼 가져와야 합니다.
WCHAR value[MAX_PATH];
DWORD length;
if ((lresult = ::RegGetValue(hkey, nullptr,
L"Source",
REG_EXPAND_SZ | RRF_NOEXPAND,
nullptr,
value,
&length)) == ERROR_SUCCESS)
위의 코드는 %SystemRoot% 형태로 값을 가져옵니다.