도메인 컨트롤러에서 실행 중인지 테스트
다음 코드는 VerifyVersionInfo 함수를 사용하여 호출 프로세스가 Windows 2000 Server 도메인 컨트롤러에서 실행 중인지 여부를 확인합니다. 서비스 설치 프로그램은 LocalSystem 계정으로 서비스를 설치하기 전에 이 테스트를 사용할 수 있습니다. 테스트가 도메인 컨트롤러에서 실행 중임을 나타내는 경우 사용자 계정으로 실행할 서비스를 설치하거나 도메인 컨트롤러에서 LocalSystem으로 실행될 때의 위험에 대한 대화 상자 경고를 표시합니다(즉, 서비스는 전체 네트워크를 손상시킬 가능성이 있는 매우 강력한 보안 컨텍스트인 Active Directory Domain Services 대한 무제한 액세스를 갖게 됩니다).
BOOL Is_Win2000_DomainController ()
{
OSVERSIONINFOEX osvi;
DWORDLONG dwlConditionMask = 0;
// Initialize the OSVERSIONINFOEX structure.
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
osvi.dwMajorVersion = 5;
osvi.wProductType = VER_NT_DOMAIN_CONTROLLER;
// Initialize the condition mask.
VER_SET_CONDITION( dwlConditionMask, VER_MAJORVERSION,
VER_GREATER_EQUAL );
VER_SET_CONDITION( dwlConditionMask, VER_PRODUCT_TYPE,
VER_EQUAL );
// Perform the test.
return VerifyVersionInfo(
&osvi,
VER_MAJORVERSION | VER_PRODUCT_TYPE,
dwlConditionMask);
}