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 を構築する前に、IP アドレスを DNS 名前解決によってコンピューター名に変換する必要があります。 DNS 名解決がスプーフィングされる可能性があり、目的のコンピューター名を未承認のコンピューター名に置き換えます。
[in, out] pcSpnLength
入力時に pszSpn バッファーのサイズを文字で格納する DWORD 値へのポインター。 出力時に、このパラメーターは pszSpn バッファーにコピーされた文字数 (終端の NULL を含む) を受け取ります。
[out] pszSpn
SPN を受け取る文字列バッファーへのポインター。
戻り値
この関数は、標準の Windows エラー コードを返します。
注釈
この関数を使用する場合は、サービス クラスと DNS ホスト名の一部を指定します。
この関数は、 DsMakeSpn 関数の簡略化されたバージョンです。 ServiceName は、DNS を介して解決することで正規の名前になります。
GUID ベースの DNS 名はサポートされていません。 構築すると、簡略化された SPN は次のようになります。
ServiceClass / ServiceName / ServiceName
インスタンス名の部分 (2 番目の位置) は常に既定値に設定されます。 ポートと参照元のフィールドは使用されません。
注意
ntdsapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして DsClientMakeSpnForTargetServer を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | ntdsapi.h |
Library | Ntdsapi.lib |
[DLL] | Ntdsapi.dll |