SpExchangeMetaDataFn 回调函数 (ntsecpkg.h)
将元数据发送到 安全支持提供程序。 此函数发送的元数据是通过之前对 SpQueryMetaDataFn 函数的调用获取的。
语法
SpExchangeMetaDataFn Spexchangemetadatafn;
NTSTATUS Spexchangemetadatafn(
[in] LSA_SEC_HANDLE CredentialHandle,
[in, optional] PUNICODE_STRING TargetName,
[in] ULONG ContextRequirements,
[in] ULONG MetaDataLength,
[in] PUCHAR MetaData,
[in, out] PLSA_SEC_HANDLE ContextHandle
)
{...}
参数
[in] CredentialHandle
要用于安全上下文的 凭据 的句柄。 如果 ContextHandle 参数在输入时指向 NULL ,则此函数使用此参数的值来创建安全上下文。
如果 ContextHandle 参数在输入时指向 NULL,则此参数的值不能为 NULL。
[in, optional] TargetName
指向包含上下文目标名称的 UNICODE_STRING 的指针。
[in] ContextRequirements
指示客户端所需的上下文属性的标志。
下面是有效的值。 可以使用逻辑 OR 操作组合值。
值 | 含义 |
---|---|
|
允许服务器模拟客户端。 |
|
客户端和服务器都需要证明其身份。 |
|
安全上下文将支持检测重播的数据包。 |
|
安全上下文将支持检测无序消息。 |
|
必须协商新的 会话密钥 。 |
|
如果客户端是交互式用户,则包必须尽可能提示用户输入相应的凭据。 |
|
输入缓冲区包含应用于对连接进行身份验证的特定于包的凭据信息。 |
|
包必须分配内存。 调用方最终必须调用 FreeContextBuffer 函数来释放包分配的内存。 |
|
调用方需要三段相互身份验证事务。 |
|
应使用数据报类型的通信通道。 有关详细信息,请参阅 数据报上下文。 |
|
应使用连接类型的通信通道。 有关详细信息,请参阅 面向连接的上下文。 |
|
如果上下文失败,请生成错误消息以发送回客户端。 |
|
应使用流式通信通道。 有关详细信息,请参阅Stream上下文。 |
|
验证缓冲区完整性;但是,不会检测到重播和失序消息。 |
[in] MetaDataLength
MetaData 缓冲区的大小(以字符为单位)。
[in] MetaData
要发送的元数据。
[in, out] ContextHandle
要使用的安全句柄的句柄。 如果此参数在输入时指向 NULL ,则此函数使用 CredentialHandle 和 TargetName 参数的值分配和初始化安全上下文。
如果此参数在输入时指向 NULL , 则 CredentialHandle 不能为 NULL。
返回值
如果函数成功,则返回 STATUS_SUCCESS或信息性状态代码。
如果函数失败,则返回 NTSTATUS 错误代码,指示失败的原因。 有关详细信息,请参阅“备注”。
注解
从 SpLsaModeInitialize 函数接收的 SECPKG_FUNCTION_TABLE 结构中提供了指向 SpExchangeMetaDataFn 函数的指针。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | ntsecpkg.h |