DsGetDcNextA 関数 (dsgetdc.h)

DsGetDcNext 関数は、ドメイン コントローラー列挙操作で次のドメイン コントローラーを取得します。

構文

DSGETDCAPI DWORD DsGetDcNextA(
  [in]            HANDLE           GetDcContextHandle,
  [out, optional] PULONG           SockAddressCount,
  [out, optional] LPSOCKET_ADDRESS *SockAddresses,
  [out, optional] LPSTR            *DnsHostName
);

パラメーター

[in] GetDcContextHandle

DsGetDcOpen 関数によって提供されるドメイン コントローラー列挙コンテキスト ハンドルが含まれます。

[out, optional] SockAddressCount

SockAddresses 配列内の要素数を受け取る ULONG 値へのポインター。 このパラメーターが NULL場合、ソケット アドレスは取得されません。

[out, optional] SockAddresses

ドメイン コントローラーのソケット アドレス データを受け取る SOCKET_ADDRESS 構造体の配列へのポインター。 sockAddressCount 、この配列内の要素の数を受け取ります。

返されるすべてのアドレスは、AF_INET 型または AF_INET6型になります。 sin_port メンバーには、サーバー レコードからのポートが含まれています。 ポート 0 は、DNS から使用できるポートがないことを示します。

呼び出し元は、LocalFreeを呼び出して不要になったときに、このメモリを解放する必要があります。

SockAddressCount が NULL場合、このパラメーターは無視されます。

[out, optional] DnsHostName

ドメイン コントローラーの DNS 名を受け取る文字列ポインターへのポインター。 このパラメーターは、ホスト名が不明な場合 NULL を受け取ります。 呼び出し元は、NetApiBufferFreeを呼び出して不要になったときに、このメモリを解放する必要があります。

戻り値

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

備考

列挙をリセットするには、DsGetDcClose 呼び出して現在の列挙を閉じ、もう一度 dsGetDcOpen 呼び出して列挙を再度開きます。

DsGetDcNext によって返される DC は読み取り専用 DC (RODC) になりません。これらの DC はサイト固有のレコードと CName レコードのみを登録し、dsGetDcNext と DsGetDcOpen の両方が DNS SRV レコードを検索するためです。

次の手順では、Windows Server 2008 を実行しているコンピューターから完全な DC リストを取得する方法を示します。

ドメイン コントローラーの完全な一覧を取得するには

  1. ドメイン コントローラー名 取得するには、DsGetDcName を使用します。
  2. DsBind を使用して、そのドメイン コントローラーに接続します。
  3. InfoLevel 3 (DS_DOMAIN_CONTROLLER_INFO_3) DsGetDomainControllerInfo を呼び出して、RODC を含む完全な一覧を取得します。

手記

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

必要条件

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

関連項目

Directory Service Functions

DsGetDcClose の

DsGetDcOpen

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

LocalFree

NetApiBufferFree を する

SOCKET_ADDRESS