WS_MESSAGE_PROPERTY_ID webservices.h () 列舉

每個訊息屬性的類型為 WS_MESSAGE_PROPERTY、由標識元識別,且具有相關聯的值。

Syntax

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 時手動讀取或寫入標頭時 (點。
WsGetHeaderWsGetCustomHeaderWsAddCustomHeader) 。
例如,位置可以傳遞至 WsSetWriterPosition
WsSetReaderPosition 可在包含標頭的WS_XML_BUFFER內放置 XML 讀取器XML 寫入器。 此外:
WsMoveReaderWsMoveWriter 可用來移動相對
設定的位置。


透過 WsReadMessageStart 或讀取訊息的標頭時 (
WsReadEnvelopeStart,標頭元素會自動新增至
如果正在讀取的訊息中沒有標頭緩衝區,則為標頭緩衝區。 初始化訊息時
(透過 WsInitializeMessage) ,會自動新增標頭元素
至訊息。


除了 WS_MESSAGE_STATE_EMPTY以外,此屬性適用於所有訊息狀態。


標頭位置有效,直到訊息重設或釋放為止。
WS_MESSAGE_PROPERTY_BODY_READER
值: 6
此屬性與 WsGetMessageProperty 搭配使用。


WS_MESSAGE_PROPERTY 結構的隨附成員是可用來讀取的WS_XML_READER
訊息的本文。


讀取器是由訊息物件所擁有,且僅有效
直到呼叫 WsFreeMessageWsResetMessage 為止。


只有在訊息為 時,才能使用這個屬性
處於 WS_MESSAGE_STATE_READING 狀態。
WS_MESSAGE_PROPERTY_BODY_WRITER
值: 7
此屬性與 WsGetMessageProperty 搭配使用。


WS_MESSAGE_PROPERTY 結構隨附的值成員是可用來寫入的WS_XML_WRITER
訊息的本文。


只有在訊息位於 時,才能使用這個屬性
WS_MESSAGE_STATE_WRITING 狀態。


寫入器是由訊息物件所擁有,且僅有效
直到呼叫 WsFreeMessageWsResetMessage 為止。
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
這個屬性會與 WsGetMessagePropertyWsSetMessageProperty 搭配使用,以指出訊息是否包含錯誤。


WS_MESSAGE_PROPERTY 結構的隨附成員是 BOOL

讀取訊息 (WsReadMessageStartWsReadEnvelopeStart) 時,
此屬性是根據本文的第一個專案是否為錯誤來設定
元素的值中包含的 URI。 應用程式可以將此屬性測試為決定是否要測試此屬性的方式
表示將本文讀取為錯誤。 若要將本文讀取為錯誤,請使用 WsReadBody
with WS_FAULT_TYPE 以取得 WS_FAULT


(WsWriteMessageStartWsWriteEnvelopeStart) 寫入訊息時
這個屬性可用來指出應用程式是否會寫入錯誤
在本文中。 某些通道會使用這項資訊來判斷如何
傳送訊息。 例如,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 (WsSetHeaderWsGetHeader
WsGetCustomHeaderWsGetMappedHeader) 。


預設值為 64。
WS_MESSAGE_PROPERTY_USERNAME
值: 14
這個屬性會與 WsGetMessageProperty 搭配使用,以擷取發件人的
來自已接收訊息的用戶名稱,如果以使用者名稱/密碼為基礎的安全性
為 開啟,或如果自定義通道已設定值。


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