본문 바로가기

프로그래밍

%SystemRoot% 변환하기

DirectShow 필터의 CLSID를 가지고 실경로를 구할 때 얻어지는 상대 경로를 실경로로 변환

Video Mixing Renderer 9의 필터 정보를 알고자 할 때
해당 CLSID를 가지고 아래 레지스트리값을 참조하여
HKEY_CLASSES_ROOT\CLSID\{51B4ABF3-748F-4E3B-A276-C828330E926A}\InprocServer32 

%SystemRoot%\system32\quartz.dll 다음과 같은 키값을 얻을 수 있다.
위 경로를 가지고 CreateFile을 할 경우 에러를 얻게 되는데 이런 경우 위와 같은 경로를
DWORD WINAPI ExpandEnvironmentStrings(  __in          LPCTSTR lpSrc,  __out         LPTSTR lpDst,  __in          DWORD nSize);
위와 같은 함수로 C:\Windows\system32\quartz.dll로 변환하여 얻을 수 있다.