WsCreateChannel 函式 (webservices.h)

建立與端點進行訊息交換的 通道

語法

HRESULT WsCreateChannel(
  [in]           WS_CHANNEL_TYPE               channelType,
  [in]           WS_CHANNEL_BINDING            channelBinding,
  [in]           const WS_CHANNEL_PROPERTY     *properties,
  [in]           ULONG                         propertyCount,
  [in, optional] const WS_SECURITY_DESCRIPTION *securityDescription,
                 WS_CHANNEL                    **channel,
  [in, optional] WS_ERROR                      *error
);

參數

[in] channelType

通道的類型。 如需通道類型,請參閱 WS_CHANNEL_TYPE 列舉。 這代表所建立通道的訊息交換模式。

[in] channelBinding

通道 系結,表示要用於新通道的通訊協定堆疊。 如需可用的通道系結,請參閱 WS_CHANNEL_BINDING 列舉。

[in] properties

包含通道初始化選擇性值的 WS_CHANNEL_PROPERTY 結構的陣列。 此參數的值可能是 NULL,在此情況下, propertyCount 參數必須是 0 (零) 。

如需建立通道時可指定通道屬性的相關信息,請參閱 WS_CHANNEL_PROPERTY_ID 列舉。

如需建立自定義通道的詳細資訊,請參閱一節。

[in] propertyCount

屬性陣列中的 屬性 數目。

[in, optional] securityDescription

指定通道安全性 之WS_SECURITY_DESCRIPTION 結構的指標。

如果您要使用 WS_CHANNEL_BINDING 列舉) 的WS_CUSTOM_CHANNEL_BINDING值建立自定義通道 (,安全性描述必須是 NULL。 請參閱<備註>一節。

channel

接收所建立通道位址的指標。
不再需要通道時,您必須呼叫 WsFreeChannel 來釋出通道。

[in, optional] error

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

傳回值

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

傳回碼 Description
E_INVALIDARG
一或多個引數無效。
E_OUTOFMEMORY
記憶體不足,無法完成作業。
其他錯誤
此函式可能會傳回上述未列出的其他錯誤。

備註

使用 WsOpenChannel 函式在通道上起始通訊,並指定端點。

當您使用 WS_CHANNEL_BINDING 列舉) 的WS_CUSTOM_CHANNEL_BINDING值建立自定義通道 (時,您只能指定下列通道屬性:

  • WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS
  • WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS
(請參閱 WS_CHANNEL_PROPERTY_ID 列舉) 如果需要初始屬性才能建立自定義通道,請使用 WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS 屬性加以指定。

若要將安全性資訊傳遞至自定義通道實作,請使用WS_CHANNEL_PROPERTY_ID列舉的 WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS 值。

規格需求

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