WsCreateChannel-Funktion (webservices.h)
Erstellt einen Kanal für den Nachrichtenaustausch mit einem Endpunkt.
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
);
Parameter
[in] channelType
Der Kanaltyp. Informationen zu Kanaltypen finden Sie in der WS_CHANNEL_TYPE-Enumeration . Dies stellt das Nachrichtenaustauschmuster für den erstellten Kanal dar.
[in] channelBinding
Die Kanalbindung, die den Protokollstapel angibt, der für den neuen Kanal verwendet werden soll. Informationen zu verfügbaren Kanalbindungen finden Sie in der WS_CHANNEL_BINDING-Enumeration .
[in] properties
Ein Array von WS_CHANNEL_PROPERTY Strukturen, die optionale Werte für die Kanalinitialisierung enthalten. Der Wert dieses Parameters kann NULL sein. In diesem Fall muss der propertyCount-Parameter 0 (null) sein.
Informationen dazu, welche Kanaleigenschaften beim Erstellen eines Kanals angegeben werden können, finden Sie in der WS_CHANNEL_PROPERTY_ID-Enumeration .
Informationen zum Erstellen eines benutzerdefinierten Kanals finden Sie im Abschnitt Hinweise.
[in] propertyCount
Die Anzahl der Eigenschaften im Eigenschaftenarray .
[in, optional] securityDescription
Zeiger auf eine WS_SECURITY_DESCRIPTION-Struktur , die die Sicherheit für den Kanal angibt.
Wenn Sie einen benutzerdefinierten Kanal erstellen (mit dem WS_CUSTOM_CHANNEL_BINDING Wert der WS_CHANNEL_BINDING-Enumeration ), muss die Sicherheitsbeschreibung NULL sein. Weitere Informationen finden Sie im Abschnitt mit den Hinweisen.
channel
Zeiger, der die Adresse des erstellten Kanals empfängt.
Wenn der Kanal nicht mehr benötigt wird, müssen Sie ihn freigeben, indem Sie WsFreeChannel aufrufen.
[in, optional] error
Zeiger auf eine WS_ERROR-Struktur , die zusätzliche Fehlerinformationen empfängt, wenn die Funktion fehlschlägt.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird NO_ERROR zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.
Rückgabecode | Beschreibung |
---|---|
|
Mindestens ein Argument ist ungültig. |
|
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen. |
|
Diese Funktion gibt möglicherweise andere Fehler zurück, die oben nicht aufgeführt sind. |
Hinweise
Verwenden Sie die WsOpenChannel-Funktion , um die Kommunikation im Kanal zu initiieren und den Endpunkt anzugeben.
Wenn Sie einen benutzerdefinierten Kanal erstellen (mit dem WS_CUSTOM_CHANNEL_BINDING Wert der WS_CHANNEL_BINDING-Enumeration ), können Sie nur die folgenden Kanaleigenschaften angeben:
- WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS
- WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS
Um Sicherheitsinformationen an eine benutzerdefinierte Kanalimplementierung zu übergeben, verwenden Sie den WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS-Wert der WS_CHANNEL_PROPERTY_ID-Enumeration .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | webservices.h |
Bibliothek | WebServices.lib |
DLL | WebServices.dll |