SpQueryMetaDataFn コールバック関数 (ntsecpkg.h)

セキュリティ コンテキストを開始するときに、 セキュリティ サポート プロバイダー (SSP) からメタデータを取得 します

構文

SpQueryMetaDataFn Spquerymetadatafn;

NTSTATUS Spquerymetadatafn(
  [in]           LSA_SEC_HANDLE CredentialHandle,
  [in, optional] PUNICODE_STRING TargetName,
  [in]           ULONG ContextRequirements,
  [out]          PULONG MetaDataLength,
  [out]          PUCHAR *MetaData,
  [in, out]      PLSA_SEC_HANDLE ContextHandle
)
{...}

パラメーター

[in] CredentialHandle

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

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

[in, optional] TargetName

コンテキストのターゲットの名前を含む UNICODE_STRING へのポインター。

[in] ContextRequirements

クライアントに必要なコンテキスト属性を示すフラグ。

有効な値は次のとおりです。 論理 OR 演算を使用して値を結合できます。

意味
ISC_REQ_DELEGATE
サーバーはクライアントの権限を借用できます。
ISC_REQ_MUTUAL_AUTH
ID を証明するには、クライアントとサーバーの両方が必要です。
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 段階の相互認証トランザクションを想定しています。
ISC_REQ_DATAGRAM
データグラム型の通信チャネルを使用する必要があります。 詳細については、「 データグラム コンテキスト」を参照してください。
ISC_REQ_CONNECTION
接続タイプの通信チャネルを使用する必要があります。 詳細については、「 接続指向コンテキスト」を参照してください。
ISC_REQ_EXTENDED_ERROR
コンテキストが失敗した場合は、エラー応答メッセージを生成してクライアントに送り返します。
ISC_REQ_STREAM
ストリーム型の通信チャネルを使用する必要があります。 詳細については、「Stream コンテキスト」を参照してください。
ISC_REQ_INTEGRITY
バッファーの整合性が検証されます。ただし、再生されたメッセージとシーケンス外のメッセージは検出されません。

[out] MetaDataLength

MetaData バッファーのサイズ (文字数)。

[out] MetaData

SSP によって提供されるメタデータ。

[in, out] ContextHandle

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

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

戻り値

関数が成功した場合は、 STATUS_SUCCESSまたは情報状態コードを返します。

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

注釈

SpQueryMetaDataFn 関数へのポインターは、SpLsaModeInitialize 関数から受信したSECPKG_FUNCTION_TABLE構造体で使用できます。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ntsecpkg.h