Win32 API 日本語リファレンス
ホーム › Security.Authentication.Identity › SpExchangeMetaDataFn

SpExchangeMetaDataFn

コールバック

シグネチャ

NTSTATUS SpExchangeMetaDataFn(
    UINT_PTR CredentialHandle,
    LSA_UNICODE_STRING* TargetName,
    DWORD ContextRequirements,
    DWORD MetaDataLength,
    BYTE* MetaData,
    UINT_PTR* ContextHandle
);

パラメーター

フィールド型説明
CredentialHandleUINT_PTR

セキュリティコンテキストに使用する資格情報へのハンドルです。入力時に ContextHandle パラメーターが NULL を指している場合、この関数はこのパラメーターの値を使用してセキュリティコンテキストを作成します。

入力時に ContextHandle パラメーターが NULL を指している場合、このパラメーターの値を NULL にすることはできません。

TargetNameLSA_UNICODE_STRING*コンテキストのターゲット名を格納した UNICODE_STRING へのポインターです。
ContextRequirementsDWORD

クライアントが要求するコンテキスト属性を示すフラグです。

有効な値は次のとおりです。これらの値は論理 OR 演算で組み合わせることができます。

値 意味
ISC_REQ_DELEGATE
サーバーがクライアントを偽装することを許可します。
ISC_REQ_MUTUAL_AUTH
クライアントとサーバーの双方が、自身の身元を証明する必要があります。
ISC_REQ_REPLAY_DETECT
セキュリティコンテキストは、再送(リプレイ)されたパケットの検出をサポートします。
ISC_REQ_SEQUENCE_DETECT
セキュリティコンテキストは、順序が入れ替わったメッセージの検出をサポートします。
ISC_REQ_USE_SESSION_KEY
新しいセッションキーをネゴシエートする必要があります。
ISC_REQ_PROMPT_FOR_CREDS
クライアントが対話ユーザーである場合、パッケージは可能であれば適切な資格情報の入力をユーザーに求める必要があります。
ISC_REQ_USE_SUPPLIED_CREDS
入力バッファーには、接続の認証に使用するパッケージ固有の資格情報が格納されています。
ISC_REQ_ALLOCATE_MEMORY
パッケージがメモリを割り当てる必要があります。呼び出し元は、最終的に FreeContextBuffer 関数を呼び出して、パッケージが割り当てたメモリを解放する必要があります。
ISC_REQ_USE_DCE_STYLE
呼び出し元は、3 回のやり取り(3 レグ)による相互認証トランザクションを想定しています。
ISC_REQ_DATAGRAM
データグラム型の通信チャネルを使用します。詳細については、 データグラムコンテキストを参照してください。
ISC_REQ_CONNECTION
接続型の通信チャネルを使用します。詳細については、 コネクション指向コンテキストを参照してください。
ISC_REQ_EXTENDED_ERROR
コンテキストが失敗した場合に、クライアントへ返すエラー応答メッセージを生成します。
ISC_REQ_STREAM
ストリーム型の通信チャネルを使用します。詳細については、 ストリームコンテキストを参照してください。
ISC_REQ_INTEGRITY
バッファーの整合性は検証されますが、再送されたメッセージや順序が入れ替わったメッセージは検出されません。
MetaDataLengthDWORDMetaData バッファーのサイズ(文字数単位)です。
MetaDataBYTE*送信するメタデータです。
ContextHandleUINT_PTR*

使用するセキュリティハンドルへのハンドルです。入力時にこのパラメーターが NULL を指している場合、この関数は CredentialHandle パラメーターと TargetName パラメーターの値を使用して、セキュリティコンテキストを割り当てて初期化します。

入力時にこのパラメーターが NULL を指している場合、CredentialHandle を NULL にすることはできません。

公式ドキュメント

セキュリティサポートプロバイダーにメタデータを送信します。この関数が送信するメタデータは、事前に SpQueryMetaDataFn 関数を呼び出して取得します。

戻り値

関数が成功した場合は、STATUS_SUCCESS または情報を示すステータスコードを返します。

関数が失敗した場合は、失敗の理由を示す NTSTATUS エラーコードを返します。詳細については、「解説」を参照してください。

解説(Remarks)

SpExchangeMetaDataFn 関数へのポインターは、 SpLsaModeInitialize 関数から受け取る SECPKG_FUNCTION_TABLE 構造体に格納されています。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)