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 の