次の方法で共有


DsGetDcOpenA 関数 (dsgetdc.h)

DsGetDcOpen 関数は、新しいドメイン コントローラー列挙操作を開きます。

構文

DSGETDCAPI DWORD DsGetDcOpenA(
  [in]           LPCSTR  DnsName,
  [in]           ULONG   OptionFlags,
  [in, optional] LPCSTR  SiteName,
  [in, optional] GUID    *DomainGuid,
  [in, optional] LPCSTR  DnsForestName,
  [in]           ULONG   DcFlags,
  [out]          PHANDLE RetGetDcContext
);

パラメーター

[in] DnsName

ドメイン コントローラーを列挙するドメインのドメインネーム システム (DNS) 名を含む null で終わる文字列へのポインター。 このパラメーターは NULLできません。

[in] OptionFlags

関数の動作を変更するフラグのセットが含まれています。 0 または次の値の 1 つ以上の組み合わせを指定できます。

DS_ONLY_DO_SITE_NAME

サイト固有のドメイン コントローラーのみが列挙されます。

DS_NOTIFY_AFTER_SITE_RECORDS

DsGetDcNext 関数は、サイト固有のすべてのドメイン コントローラーが取得された後、ERROR_FILEMARK_DETECTED 値を返します。 DsGetDcNext は、2 つ目のグループを列挙します。このグループには、最初のグループに含まれるサイト固有のドメイン コントローラーを含め、ドメイン内のすべてのドメイン コントローラーが含まれます。

[in, optional] SiteName

クライアントが存在するサイトの名前を含む null で終わる文字列へのポインター。 このパラメーターは省略可能であり、NULLできます。

[in, optional] DomainGuid

DnsNameで指定されたドメインの識別子を含む GUID 値へのポインター。 この識別子は、名前が変更されたドメインの大文字と小文字を処理するために使用されます。 この値を指定し、DnsName で指定されたドメインの名前が変更された場合、この関数は、指定した識別子を含むドメイン内のドメイン コントローラーの列挙を試みます。 このパラメーターは省略可能であり、NULLできます。

[in, optional] DnsForestName

DnsName ドメインを含むフォレストの名前を含む null で終わる文字列へのポインター。 この値は、ドメイン DomainGuid と組み合わせて使用され、ドメインの名前が変更された場合にドメイン コントローラーを列挙します。 このパラメーターは省略可能であり、NULLできます。

[in] DcFlags

列挙するドメイン コントローラーの種類を識別するフラグのセットが含まれています。 0 または次の値の 1 つ以上の組み合わせを指定できます。

DS_FORCE_REDISCOVERY

キャッシュされたドメイン コントローラー データを強制的に無視します。 このフラグが指定されていない場合、DsGetDcOpen は、キャッシュされたドメイン コントローラー データからドメイン コントローラー列挙体を取得します。

DS_GC_SERVER_REQUIRED

列挙されたドメイン コントローラーが、このドメインをルートとして持つドメインのフォレストのグローバル カタログ サーバーである必要があります。 このフラグを DS_PDC_REQUIRED フラグと組み合わせることはできません。

DS_KDC_REQUIRED

列挙されたドメイン コントローラーが現在 Kerberos キー配布センター サービスを実行している必要があります。 このフラグを DS_PDC_REQUIRED フラグまたは DS_GC_SERVER_REQUIRED フラグと組み合わせることはできません。

DS_ONLY_LDAP_NEEDED

列挙されたサーバーが LDAP サーバーであることを指定します。 サーバーは必ずしもドメイン コントローラーであるとは限りません。 列挙された各サーバーには、他のサービスは存在しません。 サーバーには、コンテナー 書き込み可能な 構成や、コンテナー 書き込み可能な スキーマは必ずしもありません。 サーバーを使用してセキュリティ原則を作成または変更するとは限りません。 このフラグは、グローバル カタログ サーバーもホストする LDAP サーバーを列挙するために、DS_GC_SERVER_REQUIRED フラグと共に使用できます。 その場合、列挙されたグローバル カタログ サーバーは必ずしもドメイン コントローラーではなく、他のサービスは各サーバーに存在することが暗黙的に示されます。 このフラグを指定すると、DS_PDC_REQUIREDDS_TIMESERV_REQUIREDDS_GOOD_TIMESERV_PREFERREDDS_DIRECTORY_SERVICES_PREFEREDDS_DIRECTORY_SERVICES_REQUIRED、および DS_KDC_REQUIRED フラグは無視されます。

DS_PDC_REQUIRED

列挙されたドメイン コントローラーがドメインのプライマリ ドメイン コントローラーである必要があります。 このフラグを DS_GC_SERVER_REQUIRED フラグと組み合わせることはできません。

[out] RetGetDcContext

ドメイン コントローラー列挙コンテキスト ハンドルを受け取る HANDLE 値へのポインター。 このハンドルは、ドメイン コントローラーの列挙操作を識別するために、DsGetDcNext 関数と共に使用されます。 このハンドルは、ドメイン コントローラーの列挙操作を閉じる DsGetDcClose に渡されます。

戻り値

成功した場合は ERROR_SUCCESS を返し、それ以外の場合は Win32 または RPC エラーを返します。 考えられるエラー値は次のとおりです。

備考

手記

dsgetdc.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして DsGetDcOpen を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista
サポートされる最小サーバー Windows Server 2008
ターゲット プラットフォーム の ウィンドウズ
ヘッダー dsgetdc.h
ライブラリ Netapi32.lib
DLL Netapi32.dll

関連項目

Directory Service Functions

DsGetDcClose の

DsGetDcNext の

ドメイン コントローラー の列挙の