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
[out, optional] DnsHostName
ドメイン コントローラーの DNS 名を受け取る文字列ポインターへのポインター。 このパラメーターは、ホスト名が不明な場合 NULL を受け取ります。 呼び出し元は、NetApiBufferFreeを呼び出して不要になったときに、このメモリを解放する必要があります。
戻り値
成功した場合は ERROR_SUCCESS を返し、それ以外の場合は Win32 または RPC エラーを返します。 考えられるエラー値は次のとおりです。
備考
列挙をリセットするには、DsGetDcClose
DsGetDcNext によって返される DC は読み取り専用 DC (RODC) になりません。これらの DC はサイト固有のレコードと CName レコードのみを登録し、dsGetDcNext と DsGetDcOpen の両方が DNS SRV レコードを検索するためです。
次の手順では、Windows Server 2008 を実行しているコンピューターから完全な DC リストを取得する方法を示します。
ドメイン コントローラーの完全な一覧を取得するには
- ドメイン コントローラー名 取得するには、DsGetDcName を使用します。
- DsBind を使用して、そのドメイン コントローラーに接続します。
- 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 |
関連項目
DsGetDcClose の
ドメイン コントローラー の列挙の
NetApiBufferFree を