次の方法で共有


DsClientMakeSpnForTargetServerA 関数 (ntdsapi.h)

DsClientMakeSpnForTargetServer 関数は、認証に使用する特定のサーバーを識別するサービス プリンシパル名 (SPN) を構築します。

構文

NTDSAPI DWORD DsClientMakeSpnForTargetServerA(
  [in]      LPCSTR ServiceClass,
  [in]      LPCSTR ServiceName,
  [in, out] DWORD  *pcSpnLength,
  [out]     LPSTR  pszSpn
);

パラメーター

[in] ServiceClass

サービスによって定義されたサービスのクラスを含む null で終わる文字列へのポインター。 サービスに固有の任意の文字列を指定できます。

[in] ServiceName

識別名サービス (DNS) ホスト名を含む null で終わる文字列へのポインター。 完全修飾名またはインターネット標準形式の IP アドレスを指定できます。

ServiceName に IP アドレスを使用することはお勧めしません。セキュリティの問題が発生する可能性があるためです。 SPN を構築する前に、DNS の名前解決によって IP アドレスをコンピューター名に変換する必要があります。 DNS の名前解決がスプーフィングされる可能性があり、目的のコンピューター名を未承認のコンピューター名に置き換えます。

[in, out] pcSpnLength

エントリ上で、pszSpn バッファーのサイズを文字で格納する DWORD 値へのポインター。 出力時に、このパラメーターは、終端の NULLを含む、pszSpn バッファーにコピーされた文字数を受け取ります。

[out] pszSpn

SPN を受け取る文字列バッファーへのポインター。

戻り値

この関数は、標準の Windows エラー コードを返します。

備考

この関数を使用する場合は、サービス クラスと DNS ホスト名の一部を指定します。

この関数は、DsMakeSpn 関数の簡略化されたバージョンです。 ServiceName は、DNS を介して解決することで正規の名前になります。

GUID ベースの DNS 名はサポートされていません。 構築すると、簡略化された SPN は次のようになります。

ServiceClass / ServiceName / ServiceName

インスタンス名の部分 (2 番目の位置) は常に既定値に設定されます。 ポートフィールドと参照元フィールドは使用されません。

手記

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

必要条件

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

関連項目

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

DsMakeSpn の