Condividi tramite


Funzione WsCreateChannel (webservices.h)

Crea un canale per lo scambio di messaggi con un endpoint.

Sintassi

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
);

Parametri

[in] channelType

Tipo del canale. Per i tipi di canale, vedere l'enumerazione WS_CHANNEL_TYPE . Questo rappresenta il modello di scambio dei messaggi per il canale creato.

[in] channelBinding

Associazione del canale, che indica lo stack di protocolli da usare per il nuovo canale. Per le associazioni di canale disponibili, vedere l'enumerazione WS_CHANNEL_BINDING .

[in] properties

Matrice di strutture WS_CHANNEL_PROPERTY contenenti valori facoltativi per l'inizializzazione del canale. Il valore di questo parametro può essere NULL, in tal caso, il parametro propertyCount deve essere 0 (zero).

Per informazioni sulle proprietà del canale che è possibile specificare quando si crea un canale, vedere l'enumerazione WS_CHANNEL_PROPERTY_ID .

Per informazioni sulla creazione di un canale personalizzato, vedere la sezione Osservazioni.

[in] propertyCount

Numero di proprietà nella matrice delle proprietà .

[in, optional] securityDescription

Puntatore a una struttura WS_SECURITY_DESCRIPTION che specifica la sicurezza per il canale.

Se si sta creando un canale personalizzato (usando il valore WS_CUSTOM_CHANNEL_BINDING dell'enumerazione WS_CHANNEL_BINDING ), la descrizione della sicurezza deve essere NULL. Vedere la sezione relativa alle osservazioni.

channel

Puntatore che riceve l'indirizzo del canale creato.
Quando il canale non è più necessario, è necessario liberarlo chiamando WsFreeChannel.

[in, optional] error

Puntatore a una struttura WS_ERROR che riceve informazioni di errore aggiuntive se la funzione ha esito negativo.

Valore restituito

Se la funzione ha esito positivo, restituisce NO_ERROR; in caso contrario, restituisce un codice di errore HRESULT.

Codice restituito Descrizione
E_INVALIDARG
Uno o più argomenti non sono validi.
E_OUTOFMEMORY
Memoria insufficiente per completare l'operazione.
Altri errori
Questa funzione può restituire altri errori non elencati sopra.

Commenti

Usare la funzione WsOpenChannel per avviare la comunicazione sul canale e per specificare l'endpoint.

Quando si crea un canale personalizzato (usando il valore WS_CUSTOM_CHANNEL_BINDING dell'enumerazione WS_CHANNEL_BINDING ), è possibile specificare solo le proprietà del canale seguenti:

  • WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS
  • WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS
(Vedere l'enumerazione WS_CHANNEL_PROPERTY_ID ) Se sono necessarie proprietà iniziali per creare il canale personalizzato, specificarle usando la proprietà WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS.

Per passare le informazioni di sicurezza a un'implementazione del canale personalizzata, usare il valore WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS dell'enumerazione WS_CHANNEL_PROPERTY_ID .

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione webservices.h
Libreria WebServices.lib
DLL WebServices.dll