WsGetHeader 函式 (webservices.h)

在訊息中尋找特定的標準標頭,並將其還原串行化。

語法

HRESULT WsGetHeader(
  [in]           WS_MESSAGE     *message,
  [in]           WS_HEADER_TYPE headerType,
  [in]           WS_TYPE        valueType,
  [in]           WS_READ_OPTION readOption,
  [in, optional] WS_HEAP        *heap,
                 void           *value,
  [in]           ULONG          valueSize,
  [in, optional] WS_ERROR       *error
);

參數

[in] message

包含標頭的訊息。

訊息可以處於任何狀態,但 WS_MESSAGE_STATE_EMPTY

[in] headerType

要還原串行化的標頭類型。

[in] valueType

要還原串行化的實值型別。 如需對應至每個標頭類型的類型集 ,請參閱WS_HEADER_TYPE

[in] readOption

是否需要值,以及如何配置值。 無法指定WS_READ_NILLABLE_VALUEWS_READ_NILLABLE_POINTER讀取選項,因為WS_HEADER_TYPE中的標頭類型不允許在各自的標準規格中為可擷取。 如需詳細資訊 ,請參閱WS_READ_OPTION

[in, optional] heap

要儲存還原串行化標頭數據的堆積。 如果這是 NULL,則會使用訊息堆積。

value

此參數的解譯取決於 WS_READ_OPTION

[in] valueSize

此參數的解譯取決於 WS_READ_OPTION

[in, optional] error

指定函式失敗時應儲存其他錯誤資訊的位置。

傳回值

此函式可以傳回下列其中一個值。

傳回碼 Description
WS_E_INVALID_FORMAT
標頭不存在,而且是必要的。

訊息中存在多個標頭類型的實例。

輸入數據不是預期的格式。

WS_E_QUOTA_EXCEEDED
超過堆積的大小配額。
E_OUTOFMEMORY
記憶體不足,無法還原串行化標頭。
E_INVALIDARG
一或多個參數不正確。
其他錯誤
此函式可能會傳回上面未列出的其他錯誤。

備註

此 API 可讓您存取一組標準標頭類型, (請參閱 WS_HEADER_TYPE) 。 針對應用程式定義的標頭類型,請使用 WsGetCustomHeader

此 API 是設計在訊息中出現一次且以最終接收者為目標的標頭類型。 此 API 會忽略以最終接收者以外的角色/動作項目為目標的標頭。

規格需求

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