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
E_INVALIDARG
Mindestens ein Argument ist ungültig.
E_OUTOFMEMORY
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen.
Andere Fehler
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
(Siehe WS_CHANNEL_PROPERTY_ID-Enumeration ) Wenn zum Erstellen des benutzerdefinierten Kanals anfängliche Eigenschaften erforderlich sind, geben Sie sie mithilfe der WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS-Eigenschaft an.

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