Funzione WsOpenListener (webservices.h)

Avvia l'ascolto su un indirizzo specificato. Dopo aver aperto un listener, è possibile accettare i canali. Se l'apertura ha esito positivo, il listener deve essere chiuso usando la funzione WsCloseListener prima che le risorse del listener possano essere rilasciate.

Sintassi

HRESULT WsOpenListener(
  [in]           WS_LISTENER            *listener,
  [in]           const WS_STRING        *url,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

Parametri

[in] listener

Puntatore all'oggetto Listener da aprire. Il puntatore deve fare riferimento a un oggetto WS_LISTENER valido e il valore a cui si fa riferimento potrebbe non essere NULL.

[in] url

Puntatore a un oggetto contenente la stringa di indirizzo URL per il listener.

Nota L'URL è sempre in formato preceduto da un escape. L'URL potrebbe non contenere una stringa di query o un frammento. Questo URL può includere i caratteri jolly '+' o '*' nella parte del nome host, un nome host o un indirizzo IP letterale. Per altre informazioni sull'URL, vedere La sezione Note.
 

[in, optional] asyncContext

Puntatore a un oggetto WS_ASYNC_CONTEXT che contiene informazioni su come richiamare la funzione in modo asincrono. Il valore è impostato su NULL se si richiama in modo sincrono.

[in, optional] error

Puntatore a un oggetto WS_ERROR in cui devono essere archiviate informazioni aggiuntive sull'errore se la funzione ha esito negativo.

Valore restituito

Questa funzione può restituire uno di questi valori.

Codice restituito Descrizione
WS_S_ASYNC
L'operazione asincrona è ancora in sospeso.
WS_E_OPERATION_ABORTED
Il listener è stato interrotto durante l'apertura o prima dell'apertura.
WS_E_INVALID_OPERATION
Il listener è nello stato non corretto.
WS_E_ADDRESS_IN_USE
L'indirizzo è già in uso.
WS_E_ADDRESS_NOT_AVAILABLE
L'indirizzo non è valido per questo contesto.
WS_E_QUOTA_EXCEEDED
È stata superata una quota.
WS_E_OPERATION_ABORTED
L'operazione è stata interrotta.
WS_E_OPERATION_TIMED_OUT
L'operazione non è stata completata entro il tempo assegnato.
E_OUTOFMEMORY
Memoria insufficiente.
E_INVALIDARG
Uno o più argomenti non sono validi.
Altri errori
Questa funzione può restituire altri errori non elencati in precedenza.

Commenti

Quando si usano indirizzi IPv6, devono essere racchiusi tra parentesi quadre nella parte del nome host.

Per altre informazioni, vedere WS_HTTP_CHANNEL_BINDING.

Per WS_UDP_CHANNEL_BINDING, la parte del percorso dell'URL viene ignorata. Se viene specificato un indirizzo IP letterale, viene usato per l'ascolto, in caso contrario viene usato un indirizzo IP con caratteri jolly.

Per WS_TCP_CHANNEL_BINDING, la parte del percorso dell'URL viene trovata come prefisso rispetto all'URL ricevuto.
Se viene specificato un indirizzo IP letterale, viene usato per l'ascolto, in caso contrario viene usato un indirizzo IP con caratteri jolly.

Requisiti

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