WS_MESSAGE_PROPERTY_ID 枚举 (webservices.h)
每个消息属性的类型为 WS_MESSAGE_PROPERTY,由 ID 标识,并具有关联的值。
语法
typedef enum {
WS_MESSAGE_PROPERTY_STATE = 0,
WS_MESSAGE_PROPERTY_HEAP = 1,
WS_MESSAGE_PROPERTY_ENVELOPE_VERSION = 2,
WS_MESSAGE_PROPERTY_ADDRESSING_VERSION = 3,
WS_MESSAGE_PROPERTY_HEADER_BUFFER = 4,
WS_MESSAGE_PROPERTY_HEADER_POSITION = 5,
WS_MESSAGE_PROPERTY_BODY_READER = 6,
WS_MESSAGE_PROPERTY_BODY_WRITER = 7,
WS_MESSAGE_PROPERTY_IS_ADDRESSED = 8,
WS_MESSAGE_PROPERTY_HEAP_PROPERTIES = 9,
WS_MESSAGE_PROPERTY_XML_READER_PROPERTIES = 10,
WS_MESSAGE_PROPERTY_XML_WRITER_PROPERTIES = 11,
WS_MESSAGE_PROPERTY_IS_FAULT = 12,
WS_MESSAGE_PROPERTY_MAX_PROCESSED_HEADERS = 13,
WS_MESSAGE_PROPERTY_USERNAME = 14,
WS_MESSAGE_PROPERTY_ENCODED_CERT = 15,
WS_MESSAGE_PROPERTY_TRANSPORT_SECURITY_WINDOWS_TOKEN = 16,
WS_MESSAGE_PROPERTY_HTTP_HEADER_AUTH_WINDOWS_TOKEN = 17,
WS_MESSAGE_PROPERTY_MESSAGE_SECURITY_WINDOWS_TOKEN = 18,
WS_MESSAGE_PROPERTY_SAML_ASSERTION = 19,
WS_MESSAGE_PROPERTY_SECURITY_CONTEXT = 20,
WS_MESSAGE_PROPERTY_PROTECTION_LEVEL = 21
} WS_MESSAGE_PROPERTY_ID;
常量
WS_MESSAGE_PROPERTY_STATE 值: 0 此属性与 WsGetMessageProperty 一起使用。 WS_MESSAGE_PROPERTY 结构随附的值成员是消息的当前WS_MESSAGE_STATE。 此属性在所有消息状态中都可用。 |
WS_MESSAGE_PROPERTY_HEAP 值:1 此属性与 WsGetMessageProperty 一起使用。 WS_MESSAGE_PROPERTY 结构随附的值成员是消息的WS_HEAP。 堆为 由消息拥有。 消息的用户可以自由地进行其他操作 此堆中的分配。 释放堆中的分配 重置/释放消息时。 返回的堆的用户不应对堆调用 WsResetHeap 。 这将导致未定义的行为。 消息对象不会使用堆对象,除非 调用消息 API。 此属性可用于除 WS_MESSAGE_STATE_EMPTY之外的所有消息状态。 使用空消息的堆将导致未定义的行为。 |
WS_MESSAGE_PROPERTY_ENVELOPE_VERSION 值: 2 此属性与 WsGetMessageProperty 一起使用。 WS_MESSAGE_PROPERTY 结构随附的值成员是消息的WS_ENVELOPE_VERSION。 使用 WsCreateMessage 创建消息时, 将信封版本指定为显式参数 ( 作为属性) 的 。 当使用 指定消息属性时,可以指定此属性 WS_MESSAGE_PROPERTIES 结构。 此属性可用于除 WS_MESSAGE_STATE_EMPTY之外的所有消息状态。 |
WS_MESSAGE_PROPERTY_ADDRESSING_VERSION 值: 3 此属性与 WsGetMessageProperty 一起使用。 WS_MESSAGE_PROPERTY 结构随附的值成员是消息的WS_ADDRESSING_VERSION。 使用 WsCreateMessage 创建消息时, 将寻址版本指定为显式参数 ( 作为属性) 的 。 当使用 指定消息属性时,可以指定此属性 WS_MESSAGE_PROPERTIES 结构。 此属性可用于除 WS_MESSAGE_STATE_EMPTY之外的所有消息状态。 |
WS_MESSAGE_PROPERTY_HEADER_BUFFER 值: 4 此属性与 WsGetMessageProperty 一起使用。 WS_MESSAGE_PROPERTY 结构随附的值成员是保存标头的WS_XML_BUFFER 消息 (以及信封和正文元素) 。 在重置/释放消息之前,此缓冲区有效。 此属性可用于除 WS_MESSAGE_STATE_EMPTY之外的所有消息状态。 |
WS_MESSAGE_PROPERTY_HEADER_POSITION 值: 5 此属性与 WsGetMessageProperty 一起使用。 WS_MESSAGE_PROPERTY 结构随附的值成员是标头缓冲区中标头元素 (包含所有元素的标头元素WS_XML_NODE_POSITION 作为子) 的消息标头。 标头缓冲区本身可以是 使用 WS_MESSAGE_PROPERTY_HEADER_BUFFER 获取。 应用程序可以使用返回 的WS_XML_NODE_POSITION 作为启动 不使用 WsSetHeader 时,手动读取或写入标头时 (点, WsGetHeader、 WsGetCustomHeader 或 WsAddCustomHeader) 。 例如,位置可以传递给 WsSetWriterPosition 或 WsSetReaderPosition 用于将 XML 读取器 或 XML 编写器 定位在包含标头 的WS_XML_BUFFER 中。 另外, WsMoveReader 或 WsMoveWriter 可用于移动相对 设置为已设置的位置。 当通过 WsReadMessageStart 或 (读取邮件头时 WsReadEnvelopeStart,标头元素会自动添加到 标头缓冲区(如果正在读取的消息中不存在)。 初始化消息时 (通过 WsInitializeMessage) ,会自动添加标头元素 到消息。 此属性可用于除 WS_MESSAGE_STATE_EMPTY之外的所有消息状态。 标头位置在重置或释放消息之前有效。 |
WS_MESSAGE_PROPERTY_BODY_READER 值: 6 此属性与 WsGetMessageProperty 一起使用。 WS_MESSAGE_PROPERTY 结构随附的值成员是可用于读取的WS_XML_READER 消息正文。 读取器归消息对象所有,并且仅有效 直到调用 WsFreeMessage 或 WsResetMessage 。 仅当消息为 时,此属性才可用 处于 WS_MESSAGE_STATE_READING 状态。 |
WS_MESSAGE_PROPERTY_BODY_WRITER 值: 7 此属性与 WsGetMessageProperty 一起使用。 WS_MESSAGE_PROPERTY 结构随附的值成员是可用于写入的WS_XML_WRITER 消息正文。 此属性仅在消息位于 WS_MESSAGE_STATE_WRITING 状态。 编写器归消息对象所有,并且仅有效 直到调用 WsFreeMessage 或 WsResetMessage 。 |
WS_MESSAGE_PROPERTY_IS_ADDRESSED 值: 8 此属性与 WsGetMessageProperty 一起使用。 WS_MESSAGE_PROPERTY 结构随附的值成员是一个 BOOL,指示消息是否具有 已解决。 创建或重置消息时,此属性为 设置为 FALSE。 当 (WsReadMessageStart 或 WsReadEnvelopeStart,则此属性为 设置为 TRUE。 此属性可用于除 WS_MESSAGE_STATE_EMPTY之外的所有消息状态。 有关详细信息 ,请参阅 WsAddressMessage 。 |
WS_MESSAGE_PROPERTY_HEAP_PROPERTIES 值: 9 此属性与 WsCreateMessage 一起使用以指定属性 与消息关联的 WS_HEAP 。 WS_MESSAGE_PROPERTY 结构随附的值成员的类型为 WS_HEAP_PROPERTIES。 堆用于缓冲消息的标头。 可以指定以下堆属性: |
WS_MESSAGE_PROPERTY_XML_READER_PROPERTIES 值: 10 此属性与 WsCreateMessage 一起使用以指定属性 适用于与消息一起使用的 XML 读取器 。 这些 XML 读取器属性在读取标头时由消息对象使用。 此外,通道为它们创建的读取器使用这些属性进行读取 消息。 WS_MESSAGE_PROPERTY 结构随附的值成员的类型为 WS_XML_READER_PROPERTIES。 可以指定以下属性:
|
WS_MESSAGE_PROPERTY_XML_WRITER_PROPERTIES 值: 11 此属性与 WsCreateMessage 一起使用以指定属性 与消息一起使用的 XML 编写器 。 这些 XML 编写器属性在写入标头时由消息对象使用。 此外,通道使用它们创建的编写器要写入的这些属性 消息。 WS_MESSAGE_PROPERTY 结构附带的值成员的类型为 WS_XML_WRITER_PROPERTIES。 可以指定以下属性: |
WS_MESSAGE_PROPERTY_IS_FAULT 值: 12 此属性与 WsGetMessageProperty 或 WsSetMessageProperty 一起使用,以指示消息是否包含错误。 WS_MESSAGE_PROPERTY 结构随附的值成员是 BOOL。 当 (WsReadMessageStart 或 WsReadEnvelopeStart) 读取消息时, 此属性根据正文的第一个元素是否为错误进行设置 元素内添加以下元素。 应用程序可以测试此属性,以确定是否 将正文读作错误。 若要将正文读取为错误,请使用 WsReadBody 使用 WS_FAULT_TYPE 获取 WS_FAULT。 将消息写入 (WsWriteMessageStart 或 WsWriteEnvelopeStart) 此属性可用于指示应用程序是否会写入错误 在正文中。 某些频道会使用此信息来确定如何 发送消息。 例如,HTTP 将为错误发送 500 状态代码,而不是 200。 使用 WsInitializeMessage 初始化消息时 WS_FAULT_MESSAGE, 属性设置为 TRUE。 对于其他 WS_MESSAGE_INITIALIZATION 值, 属性设置为 FALSE。 此属性可用于除 WS_MESSAGE_STATE_EMPTY之外的所有消息状态。 |
WS_MESSAGE_PROPERTY_MAX_PROCESSED_HEADERS 值: 13 此属性与 WsCreateMessage 一起使用,以指定最大标头数 在处理消息头时允许的 。 WS_MESSAGE_PROPERTY 结构附带的值成员是 ULONG。 此限制的目的是为迭代次数设置上限 扫描标头所用的时间。 由于应用程序可以直接修改标头缓冲区的内容, 并非在所有情况下都强制实施此限制。 仅当以下项之一时,才强制实施 标头访问 API (WsSetHeader、 WsGetHeader、 WsGetCustomHeader 或 WsGetMappedHeader) 。 默认值为 64。 |
WS_MESSAGE_PROPERTY_USERNAME 值: 14 此属性与 WsGetMessageProperty 一起使用,以检索发件人的 收到消息的用户名(如果基于用户名/密码的安全性) 为 on,或者如果自定义通道已设置值,则为 。 WS_MESSAGE_PROPERTY 结构随附的值成员是WS_STRING结构。 在释放或重置消息之前,返回的值是好的。 自定义通道可以使用 WsSetMessageProperty 来设置 来自邮件的发件人用户名(如果它支持用户名/密码) 基于安全性。 该函数将创建指定值的副本。 此属性在所有消息状态中均可用,但除外 WS_MESSAGE_STATE_EMPTY。 |
WS_MESSAGE_PROPERTY_ENCODED_CERT 值: 15 此属性与 WsGetMessageProperty 一起使用,以检索发件人的 从收到的消息获取的证书作为编码字节,如果 基于证书的安全模式 (,例如 SSL) , 如果自定义通道已设置值,则为 。 WS_MESSAGE_PROPERTY 结构附带的值成员是WS_BYTES结构。 在释放或重置消息之前,返回的值是好的。 自定义通道可以使用 WsSetMessageProperty 来设置 来自接收消息的发件人证书(如果支持) 基于证书的安全模式。 该函数将创建指定值的副本。 此属性在所有消息状态中均可用,但除外 WS_MESSAGE_STATE_EMPTY。 |
WS_MESSAGE_PROPERTY_TRANSPORT_SECURITY_WINDOWS_TOKEN 值: 16 此属性与 WsGetMessageProperty 一起使用以检索 Windows 表示来自接收消息的发件人的令牌。 此属性为 在以下情况下可用: WS_MESSAGE_PROPERTY 结构的附带值成员是 HANDLE。
在释放或重置消息之前,返回的值正常。 自定义通道可以使用 WsSetMessageProperty 进行设置 接收的消息中的发件人证书(如果支持) 基于证书的安全模式。 函数将复制指定的句柄。 此属性在所有消息状态中可用,但除外 WS_MESSAGE_STATE_EMPTY。 |
WS_MESSAGE_PROPERTY_HTTP_HEADER_AUTH_WINDOWS_TOKEN 值: 17 此属性与 WsGetMessageProperty 一起使用以检索 Windows 表示来自接收消息的发件人的令牌,如果 为 使用WS_HTTP_HEADER_AUTH_SECURITY_BINDING , 或者,如果自定义通道已设置值,则为 。 WS_MESSAGE_PROPERTY 结构的附带值成员是 HANDLE。 在释放或重置消息之前,返回的值正常。 自定义通道可以使用 WsSetMessageProperty 进行设置 表示从收到的消息发送方的 Windows 令牌。 函数将复制指定的句柄。 此属性在所有消息状态中可用,但除外 WS_MESSAGE_STATE_EMPTY。 |
WS_MESSAGE_PROPERTY_MESSAGE_SECURITY_WINDOWS_TOKEN 值: 18 此属性与 WsGetMessageProperty 一起使用以检索 Windows 如果消息安全,则表示来自接收消息的发件人的令牌 使用 WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING 等绑定, 或者,如果自定义通道已设置值,则为 。 WS_MESSAGE_PROPERTY 结构的附带值成员是 HANDLE。 在释放或重置消息之前,返回的值正常。 自定义通道可以使用 WsSetMessageProperty 进行设置 表示从收到的消息发送方的令牌。 函数将复制指定的句柄。 此属性在所有消息状态中可用,但除外 WS_MESSAGE_STATE_EMPTY。 |
WS_MESSAGE_PROPERTY_SAML_ASSERTION 值: 19 此属性与 WsGetMessageProperty 一起使用,以检索 SAML 断言 表示来自已接收邮件的发件人,如果 WS_SAML_MESSAGE_SECURITY_BINDING 在服务器端使用, 或者,如果自定义通道已设置值,则为 。 WS_MESSAGE_PROPERTY 结构的附带值成员是一个WS_XML_BUFFER。 在释放或重置消息之前,返回的值正常。 自定义通道可以使用 WsSetMessageProperty 进行设置 表示从收到的消息发送方的 SAML 断言。 函数将复制指定的缓冲区。 此属性在所有消息状态中可用,但除外 WS_MESSAGE_STATE_EMPTY。 |
WS_MESSAGE_PROPERTY_SECURITY_CONTEXT 值: 20 此属性与 WsGetMessageProperty 一起使用,以检索安全会话句柄(如果 为 WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING 在服务器端使用。 WS_MESSAGE_PROPERTY 结构的附带值成员是WS_SECURITY_CONTEXT。 在释放或重置消息之前,返回的值正常。 |
WS_MESSAGE_PROPERTY_PROTECTION_LEVEL 值: 21 此属性与 WsGetMessageProperty 一起使用,以检索消息的安全保护级别。 WS_MESSAGE_PROPERTY 结构的附带值成员是WS_PROTECTION_LEVEL值。 如果通道不使用安全性,或者安全验证失败,则保护级别设置为 WS_PROTECTION_LEVEL_NONE。 否则,它设置为应用程序请求的级别。 此属性可用于在WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS时确定安全验证的状态 设置为 FALSE。 自定义通道可以使用 WsSetMessageProperty 进行设置 收到的消息的保护级别。 此属性在所有消息状态中可用,但除外 WS_MESSAGE_STATE_EMPTY。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
标头 | webservices.h |