SaslGetContextOption 函数 (sspi.h)

SaslGetContextOption 函数检索指定 SASL 上下文的指定属性。

语法

SECURITY_STATUS SEC_ENTRY SaslGetContextOption(
  [in]            PCtxtHandle ContextHandle,
  [in]            ULONG       Option,
  [out]           PVOID       Value,
  [out]           ULONG       Size,
  [out, optional] PULONG      Needed
);

参数

[in] ContextHandle

SASL 上下文的句柄。

[in] Option

要从 SASL 上下文返回的属性。 下表列出了可能的值。

含义
SASL_OPTION_AUTHZ_PROCESSING
缓冲区的数据类型: ULONG

SASL 应用程序提供的 Authz 值的 SASL 处理状态。 处理的有效状态是Sasl_AuthZIDForbidden和Sasl_AuthZIDProcessed。

SASL_OPTION_AUTHZ_STRING
缓冲区的数据类型:二进制字符数组

从 SASL 客户端传递到服务器的字符串。 如果AuthZ_Processing状态为Sasl_AuthZIDForbidden,则返回SEC_E_UNSUPPORTED_FUNCTION返回值。

SASL_OPTION_RECV_SIZE
缓冲区的数据类型: ULONG

本地计算机上接收缓冲区的最大大小。

SASL_OPTION_SEND_SIZE
缓冲区的数据类型: ULONG

可以传输的最大消息数据大小。 此值是可以传输到远程 SASL 进程的最大缓冲区大小减去块大小、预告片大小和最大签名大小。

[out] Value

指向接收所请求属性的缓冲区的指针。 有关 Option 参数每个值的缓冲区的数据类型,请参阅 Option 参数。

[out] Size

Value 参数指定的缓冲区的大小(以字节为单位)。

[out, optional] Needed

指向无符号 LONG 值的指针,如果 Value 参数指定的缓冲区不够大,无法包含 Option 参数指定的属性的数据值,则返回值。

返回值

如果调用成功完成,此函数将返回SEC_E_OK。 下表显示了一些可能的错误返回值。

返回代码 说明
SEC_E_BUFFER_TOO_SMALL
Value 参数指定的缓冲区不够大,无法包含 Option 参数指定的属性的数据值。
SEC_E_INVALID_HANDLE
在 SASL 列表中找不到 由 ContextHandle 参数指定的 SASL 上下文句柄。
SEC_E_UNSUPPORTED_FUNCTION
Option 参数中指定的选项无效。

要求

   
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 sspi.h (包括 Security.h)
Library Secur32.lib
DLL Secur32.dll