DsCrackSpnA 関数 (dsparse.h)
DsCrackSpn 関数は、サービス プリンシパル名 (SPN) をコンポーネント文字列に解析します。
構文
DSPARSE DWORD DsCrackSpnA(
[in] LPCSTR pszSpn,
[in, out, optional] LPDWORD pcServiceClass,
[out, optional] LPSTR ServiceClass,
[in, out, optional] LPDWORD pcServiceName,
[out, optional] LPSTR ServiceName,
[in, out, optional] LPDWORD pcInstanceName,
[out, optional] LPSTR InstanceName,
[out, optional] USHORT *pInstancePort
);
パラメーター
[in] pszSpn
解析する SPN を含む、null で終わる定数文字列へのポインター。 SPN には次の形式があります。この形式では、<サービス クラスの> と <インスタンス名> コンポーネントが存在する必要があり、<ポート番号> と <サービス名> コンポーネントは省略可能です。 コンポーネント><ポート番号は、数値の文字列値である必要があります。
<service class>/<instance name>:<port number>/<service name>
[in, out, optional] pcServiceClass
の DWORD 値へのポインター。エントリには、ServiceClass バッファーのサイズ (終端の null 文字を含む) が TCHARに格納されます。 終了時に、このパラメーターには、
このパラメーターが NULL
ServiceClass 文字列に必要な文字数 (null ターミネータを含む) を取得するには、有効な SPN、以外の NULLServiceClass を指定してこの関数を呼び出し、このパラメーターを 1 に設定します。
[out, optional] ServiceClass
SPN の <サービス クラス> コンポーネントを含む null で終わる文字列を受け取る TCHAR バッファーへのポインター。 このバッファーは、*pcServiceClass
[in, out, optional] pcServiceName
の DWORD 値へのポインター。エントリでは、ServiceName バッファーのサイズ (終端の null 文字を含む) のサイズ (TCHAR) が含まれます。 終了時に、このパラメーターには、
このパラメーターが NULL
ServiceName 文字列に必要な文字数 (null ターミネータを含む) を取得するには、有効な SPN、以外の NULLServiceName、このパラメーターを 1 に設定してこの関数を呼び出します。
[out, optional] ServiceName
SPN の <サービス名> コンポーネントを含む null で終わる文字列を受け取る TCHAR バッファーへのポインター。 このバッファーは、*pcServiceName
[in, out, optional] pcInstanceName
エントリ上で、InstanceName バッファーのサイズ (終端の null 文字を含む) TCHARに含まれる DWORD 値へのポインター。 終了時に、このパラメーターには、
このパラメーターが NULL
null ターミネータを含む、InstanceName 文字列に必要な文字数を取得するには、有効な SPN、以外の NULLInstanceName、このパラメーターを 1 に設定して、この関数を呼び出します。
[out, optional] InstanceName
SPN の <インスタンス名> コンポーネントを含む null で終わる文字列を受け取る TCHAR バッファーへのポインター。 このバッファーのサイズは、少なくとも *pcInstanceName
[out, optional] pInstancePort
SPN の <ポート番号> コンポーネントの整数値を受け取る DWORD 値へのポインター。 SPN にコンポーネントの <ポート番号> 含まれていない場合、このパラメーターは 0 を受け取ります。 ポート番号が不要な場合、このパラメーターは NULL
戻り値
次のような Win32 エラー コードを返します。
備考
手記
dsparse.h ヘッダーは、DsCrackSpn をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista |
サポートされる最小サーバー | Windows Server 2008 |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | dsparse.h (Ntdsapi.h を含む) |
ライブラリ | Ntdsapi.lib |
DLL | Ntdsapi.dll |