WS_GET_CHANNEL_PROPERTY_CALLBACK回呼函式 (webservices.h)

處理WS_CUSTOM_CHANNEL_BINDINGWsGetChannelProperty 呼叫。

語法

WS_GET_CHANNEL_PROPERTY_CALLBACK WsGetChannelPropertyCallback;

HRESULT WsGetChannelPropertyCallback(
  [in]           void *channelInstance,
  [in]           WS_CHANNEL_PROPERTY_ID id,
                 void *value,
  [in]           ULONG valueSize,
  [in, optional] WS_ERROR *error
)
{...}

參數

[in] channelInstance

這個通道實例所建立之狀態的指標,如 WS_CREATE_CHANNEL_CALLBACK所建立。

[in] id

要擷取之屬性的標識碼。

value

要儲存所擷取屬性的位置。 指標必須具有與 屬性類型相容的對齊方式。

[in] valueSize

呼叫端所配置的位元組數目,以儲存所擷取的屬性。

[in, optional] error

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

傳回值

傳回碼 Description
E_INVALIDARG
這個物件不支援屬性標識碼,或指定的緩衝區不足以用於值。
E_OUTOFMEMORY
記憶體不足。
其他錯誤
此函式可能會傳回上述未列出的其他錯誤。

備註

如需此 API 合約的相關信息,請參閱 WsGetChannelProperty

每個自訂通道實作都必須支援至少傳回下列屬性的值:

服務模型層提供自己的呼叫逾時邏輯,因此需要停用基礎通道中的逾時。 為了讓自定義通道從服務模型層使用,它應該支援停用其所有逾時,並針對 WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS實作此回呼。 除非查詢 WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS 傳回 FALSE,否則無法透過服務模型使用自定義通道。

自定義通道實作是決定它想要支援的任何其他屬性。

如果不支援屬性,則應該傳回 E_INVALIDARG 。 (請參閱 Windows Web 服務傳回值。)

規格需求

需求
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 webservices.h