次の方法で共有


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);
}