secBuffer 结构 (sspi.h)
SecBuffer 结构描述传输应用程序分配的缓冲区以传递给安全包。
语法
typedef struct _SecBuffer {
unsigned long cbBuffer;
unsigned long BufferType;
#if ...
char *pvBuffer;
#else
void SEC_FAR *pvBuffer;
#endif
} SecBuffer, *PSecBuffer;
成员
cbBuffer
指定 pvBuffer 成员指向的缓冲区的大小(以字节为单位)。
BufferType
指示缓冲区类型的位标志。 BufferType 必须是以下标志之一。
值 | 含义 |
---|---|
|
缓冲区包含警报消息。 |
|
缓冲区包含SECBUFFER_READONLY_WITH_CHECKSUM缓冲区的位掩码。 |
|
缓冲区包含通道绑定信息。 |
|
缓冲区包含 DOMAIN_PASSWORD_INFORMATION 结构。 |
|
缓冲区包含常见数据。 安全包可以读取和写入此数据,例如,加密部分或全部数据。 |
|
缓冲区仅包含最大传输单元 (MTU) 大小的设置。 默认值为 1096,有效的可配置范围介于 200 和 64*1024 之间。 |
|
这是缓冲区数组中的占位符。 调用方可以在数组中提供多个此类条目,安全包可以在其中返回信息。 有关详细信息,请参阅 SSPI 上下文语义。 |
|
安全包使用此值来指示消息中额外或未处理的字节数。 |
|
缓冲区包含特定于协议的对象 标识符 列表, (OID) 。 调用方通常不感兴趣。 |
|
缓冲区包含 SECBUFFER_MECHLIST 缓冲区的签名。 调用方通常不感兴趣。 |
|
安全包使用此值来指示特定消息中缺少的字节数。 在此类型中忽略 pvBuffer 成员。 |
|
这些是特定于传输到包的参数。 例如,NetWare 重定向程序可以提供服务器 对象标识符,而 DCE RPC 可以提供关联 UUID 等。 |
|
缓冲区包含预共享密钥。 允许的最大 PSK 缓冲区大小为 256 字节。 |
|
缓冲区包含预共享密钥标识。 |
|
缓冲区包含 SRTP 主密钥标识符。 |
|
缓冲区包含按优先顺序降序排列的 SRTP 保护配置文件列表。 |
|
缓冲区包含特定记录的特定于协议的标头。 调用方通常不感兴趣。 |
|
缓冲区包含特定记录的特定于协议的尾部。 调用方通常不感兴趣。 |
|
此标志是保留的。 请勿使用。 |
|
缓冲区指定目标 (SPN) 的服务主体名称 。
与通道绑定一起使用时,摘要式安全包支持此值。 Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持此值。 |
|
缓冲区包含消息的安全令牌部分。 对于输入参数,这是只读的,对于输出参数,这是可读/写的。 |
|
缓冲区包含支持的令牌绑定协议版本和密钥参数,按优先顺序降序排列。 |
|
缓冲区包含应用程序协议 ID 的列表,每个要启用的应用程序协议协商扩展类型一个列表。 |
此外, BufferType 还可以使用按位 OR 运算将以下标志与上表中的任何标志组合在一起。
值 | 含义 |
---|---|
|
缓冲区是只读的,没有校验和。 此标志用于将标头信息发送到安全包以计算校验和。 包可以读取此缓冲区,但无法对其进行修改。 |
|
缓冲区是只读的,具有校验和。 |
pvBuffer
指向缓冲区的指针。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8.1 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 R2 [仅限桌面应用] |
标头 | sspi.h (包括 Security.h) |