DsBindWithSpnA 関数 (ntdsapi.h)

DsBindWithSpn 関数は、指定された資格情報と、相互認証用の特定のサービス プリンシパル名 (SPN) を使用してドメイン コントローラーにバインドします。

この関数は、相互認証に完全な制御が必要な場合に提供されます。 SPN はコンピューター固有であり、指定した SPN が DsBind が検索するサーバーと一致する可能性は低いため、 DsBind でサーバーを検索する必要がある場合は、この関数を使用しないでください。 NULLServicePrincipalName 引数を指定すると、DsBindWithCred と同じ動作になります。

構文

NTDSAPI DWORD DsBindWithSpnA(
  [in, optional] LPCSTR                   DomainControllerName,
  [in, optional] LPCSTR                   DnsDomainName,
  [in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
  [in, optional] LPCSTR                   ServicePrincipalName,
  [out]          HANDLE                   *phDS
);

パラメーター

[in, optional] DomainControllerName

バインドするドメインの完全修飾 DNS 名を含む null で終わる文字列へのポインター。 詳細については、DsBind トピックの DomainControllerName の説明を参照してください。

[in, optional] DnsDomainName

バインドするドメインの完全修飾 DNS 名を含む null で終わる文字列へのポインター。 詳細については、DsBind トピックの DnsDomainName の説明を参照してください。

[in, optional] AuthIdentity

バインドに使用する資格情報を表す RPC_AUTH_IDENTITY_HANDLE 値が含まれます。 次に、

DsMakePasswordCredentials 関数を使用して、この値を取得します。 このパラメーターが NULL の場合は、呼び出し元スレッドの資格情報が使用されます。

DsFreePasswordCredentials 関数を使用してこのハンドルを解放する前に、DsUnBind を呼び出す必要があります。

[in, optional] ServicePrincipalName

クライアントに割り当てるサービス プリンシパル名を指定する null で終わる文字列へのポインター。 ServicePrincipalNameNULL を渡すことは、DsBindWithCred 関数の呼び出しと同じです。

[out] phDS

バインド ハンドルを受け取る HANDLE 値のアドレス。 このハンドルを閉じるには、 DsUnBind 関数に渡します。

戻り値

成功した場合 はERROR_SUCCESS 、それ以外の場合は Windows または RPC エラー コードを返します。 最も一般的なエラー コードを次に示します。

注釈

注意

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

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー ntdsapi.h
Library Ntdsapi.lib
[DLL] Ntdsapi.dll

こちらもご覧ください

ドメイン コントローラーとレプリケーション管理機能

DsBind

DsBindWithCred

DsUnBind