Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

WsCreateChannel function

Creates a channel for message exchange with an endpoint.


HRESULT WINAPI  WsCreateChannel(
  _In_     WS_CHANNEL_TYPE                channelType,
  _In_     WS_CHANNEL_BINDING             channelBinding,
  _In_     const WS_CHANNEL_PROPERTY*     properties,
  _In_     ULONG                          propertyCount,
  _In_opt_ const WS_SECURITY_DESCRIPTION* securityDescription,
           WS_CHANNEL**                   channel,
  _In_opt_ WS_ERROR*                      error


channelType [in]

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.

channelBinding [in]

The channel binding, indicating the protocol stack to use for the new channel. For available channel bindings, see the WS_CHANNEL_BINDING enumeration.

properties [in]

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.

propertyCount [in]

The number of properties in the properties array.

securityDescription [in, optional]

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.


Pointer that receives the address of the created channel. When the channel is no longer needed, you must free it by calling WsFreeChannel.

error [in, optional]

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 codeDescription

One or more arguments are invalid.


Insufficient memory to complete the operation.

Other Errors

This function may return other errors not listed above.



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:

(See the WS_CHANNEL_PROPERTY_ID enumeration) If initial properties are required to create the custom channel, specify them by using the WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS property.

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.


Minimum supported client

Windows 7 [desktop apps | UWP apps]

Minimum supported server

Windows Server 2008 R2 [desktop apps | UWP apps]









© 2018 Microsoft