Doメイン コントローラーで実行されているかどうかをテストする
次のコードでは、VerifyVersionInfo 関数を使用して、呼び出し元のプロセスが Windows 2000 Server doメイン コントローラーで実行されているかどうかを判断します。 サービス インストール プログラムでは、LocalSystem アカウントにサービスをインストールする前に、このテストを使用できます。 テストで doメイン コントローラーで実行していることが示されている場合は、ユーザー アカウントで実行するようにサービスをインストールするか、Do コントローラーメインで LocalSystem として実行する危険性の警告をダイアログ ボックスに表示します (サービスはActive Directory ドメインに無制限にアクセスできます)。サービス。ネットワーク全体に損害を与える可能性がある、非常に強力なセキュリティ コンテキストです)。
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);
}