WsCheckMustUnderstandHeaders 函式 (webservices.h)

確認接收者已瞭解指定的標頭。

注意 在已接收的訊息讀取所有標頭之後,應該呼叫此函式。

 

語法

HRESULT WsCheckMustUnderstandHeaders(
  [in]           WS_MESSAGE *message,
  [in, optional] WS_ERROR   *error
);

參數

[in] message

包含要了解標頭 之WS_MESSAGE 結構的指標。

[in, optional] error

如果函式失敗 ,則WS_ERROR 結構的指標,其中會儲存其他錯誤資訊。

傳回值

如果函式成功,它會傳回NO_ERROR;否則,它會傳回 HRESULT 錯誤碼。

傳回碼 Description
WS_E_INVALID_OPERATION
訊息未處於正確的狀態。 如需詳細資訊,請參閱<備註>一節。
WS_E_INVALID_FORMAT
驗證失敗,或訊息格式不正確。
E_INVALIDARG
一或多個引數無效。
E_OUTOFMEMORY
記憶體不足,無法完成作業。
其他錯誤
此函式可能會傳回上述未列出的其他錯誤。

備註

因為一組標頭是可延伸的,所以必須判斷是否已經充分瞭解訊息才能處理。 因此,傳送者可以使用此函式來指出必須瞭解哪些標頭,哪些標頭可以視為選擇性或參考性。

標準尋址標頭,例如 在WS_HEADER_TYPE中定義的標頭,即使永遠不會透過呼叫 WsGetHeader 來讀取,也會自動被假設為瞭解。

WsGetCustomHeader 所讀取的自定義應用程式定義標頭也會假設為已瞭解。 呼叫 WsGetCustomHeader 會自動將特定標頭標示為已瞭解。

對於應用程式所處理的任何其他標頭,應用程式必須藉由呼叫 WsMarkHeaderAsUnderstood,明確地將標頭標示為已瞭解。 否則,標頭會被視為無法理解。

在已接收的訊息讀取所有標頭之後,應該呼叫此函式。 必須呼叫此函式的例外狀況是將訊息轉送至另一個節點的媒介案例,而不需變更其身分識別 (訊息標識碼) ,因為最後一個節點會執行檢查。

如果未瞭解任何指定的標頭,函式將會失敗。 如果錯誤物件提供給函式,則會填入可用來傳送錯誤的資訊 (請參閱 WsCreateFaultFromError) 。

訊息必須處於WS_MESSAGE_STATE_READING狀態。

規格需求

需求
最低支援的用戶端 Windows 7 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 webservices.h
程式庫 WebServices.lib
Dll WebServices.dll