WsGetMappedHeader 函式 (webservices.h)

在訊息中尋找對應的標頭,並將其還原串行化。

語法

HRESULT WsGetMappedHeader(
  [in]           WS_MESSAGE                 *message,
  [in]           const WS_XML_STRING        *headerName,
  [in]           WS_REPEATING_HEADER_OPTION repeatingOption,
  [in]           ULONG                      headerIndex,
  [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] headerName

對應標頭的名稱。

[in] repeatingOption

標頭是否可以在訊息中出現一次以上。

如果使用 WS_REPEATING_HEADER ,則標頭索引會指出要傳回之具有指定 headerName 的標頭。

如果使用 WS_SINGLETON_HEADER ,則 headerIndex 必須為零。

[in] headerIndex

標頭集合內具有指定headerName之標頭的以零起始的索引。

[in] valueType

要還原串行化的實值型別。

[in] readOption

是否需要值,以及如何配置值。 如需詳細資訊 ,請參閱WS_READ_OPTION

如果標頭是選擇性的 (可能會) 出現零次或一次,則可以使用 WS_READ_OPTIONAL_POINTER

[in, optional] heap

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

value

此參數的解譯取決於 WS_READ_OPTION

[in] valueSize

此參數的解譯取決於 WS_READ_OPTION

[in, optional] error

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

傳回值

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

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

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

已指定WS_SINGLETON_HEADER ,而且訊息中有多個標頭實例具有指定的名稱。

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

備註

郵件可能包含不屬於郵件信封一部分的其他傳輸特定資訊。 這個傳輸特定資訊可以程序設計方式公開為 Message 對象的標頭。 此函式是用來讀取傳輸已對應至訊息的標頭。

使用 HTTP 通道時,必須先指定必要的對應,才能使用此函式擷取標頭。 如需詳細資訊,請參閱 WS_HTTP_MESSAGE_MAPPING

規格需求

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