WsCreateChannel function
Creates a channel for message exchange with an endpoint.
Syntax
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 );
Parameters
- 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.
- channel
-
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 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
|
Minimum supported client | Windows 7 [desktop apps | Windows Store apps] |
|---|---|
|
Minimum supported server | Windows Server 2008 R2 [desktop apps | Windows Store apps] |
|
Header |
|
|
Library |
|
|
DLL |
|