WsCreateChannel function (webservices.h)
Creates a channel for message exchange with an endpoint.
Syntax
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
);
Parameters
[in] channelType
The type of the channel. For channel types, see the WS_CHANNEL_TYPE enumeration. This represents the message exchange pattern for the channel being created.
[in] channelBinding
The channel binding, indicating the protocol stack to use for the new channel. For available channel bindings, see the WS_CHANNEL_BINDING enumeration.
[in] properties
An array of WS_CHANNEL_PROPERTY structures containing optional values for channel initialization. The value of this parameter may be NULL, in which case, the propertyCount parameter must be 0 (zero).
For information on which channel properties can be specified when you create a channel, see the WS_CHANNEL_PROPERTY_ID enumeration.
For information on creating a custom channel, see the Remarks section.
[in] propertyCount
The number of properties in the properties array.
[in, optional] securityDescription
Pointer to a WS_SECURITY_DESCRIPTION structure specifying the security for the channel.
If you are creating a custom channel (using the WS_CUSTOM_CHANNEL_BINDING value of the WS_CHANNEL_BINDING enumeration), the security description must be NULL. See the Remarks section.
channel
Pointer that receives the address of the created channel.
When the channel is no longer needed, you must free it by calling WsFreeChannel.
[in, optional] error
Pointer to a WS_ERROR structure that receives additional error information if the function fails.
Return value
If the function succeeds, it returns NO_ERROR; otherwise, it returns an HRESULT error code.
Return code | Description |
---|---|
|
One or more arguments are invalid. |
|
Insufficient memory to complete the operation. |
|
This function may return other errors not listed above. |
Remarks
Use the WsOpenChannel function to initiate communication on the channel and to specify the endpoint.
When you create a custom channel (using the WS_CUSTOM_CHANNEL_BINDING value of the WS_CHANNEL_BINDING enumeration), you can specify only the following channel properties:
- WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS
- WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS
To pass security information to a custom channel implementation, use the WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS value of the WS_CHANNEL_PROPERTY_ID enumeration.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 7 [desktop apps | UWP apps] |
Minimum supported server | Windows Server 2008 R2 [desktop apps | UWP apps] |
Target Platform | Windows |
Header | webservices.h |
Library | WebServices.lib |
DLL | WebServices.dll |