Funzione WsAcceptChannel (webservices.h)

Accetta il messaggio in arrivo successivo dal listener specificato.

Sintassi

HRESULT WsAcceptChannel(
  [in]           WS_LISTENER            *listener,
  [in]           WS_CHANNEL             *channel,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

Parametri

[in] listener

Puntatore a una struttura WS_LISTENER che rappresenta il listener. Questo è il listener passato a WsCreateChannelForListener al momento della creazione del canale.

[in] channel

Puntatore a una struttura WS_CHANNEL che rappresenta il canale da accettare.

[in, optional] asyncContext

Puntatore a una struttura di dati WS_ASYNC_CONTEXT con informazioni per richiamare la funzione in modo asincrono. Passare un valore NULL per un'operazione sincrona.

[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
WS_S_ASYNC
L'operazione asincrona è ancora in sospeso.
WS_E_OPERATION_ABORTED
Il listener o il canale è stato interrotto.
WS_E_OBJECT_FAULTED
Il listener ha avuto errore. Vedere la sezione relativa alle osservazioni.
WS_E_INVALID_OPERATION
Il listener o il canale o entrambi erano in uno stato inappropriato. Vedere la sezione relativa alle osservazioni.
WS_E_ENDPOINT_DISCONNECTED
La connessione con l'endpoint remoto è stata terminata.
WS_E_OPERATION_TIMED_OUT
L'operazione non è stata completata entro il tempo assegnato.
WS_E_QUOTA_EXCEEDED
È stata superata una quota.
WS_E_INVALID_FORMAT
I dati di input non erano nel formato previsto o non hanno il valore previsto.
E_OUTOFMEMORY
Memoria insufficiente per completare l'operazione.
E_INVALIDARG
Uno o più argomenti non sono validi.
WS_E_SECURITY_VERIFICATION_FAILURE
La verifica della sicurezza non ha avuto esito positivo per i dati ricevuti.
WS_E_SECURITY_SYSTEM_FAILURE
Operazione di sicurezza non riuscita nel framework di Servizi Web Windows.
Altri errori
Questa funzione può restituire altri errori non elencati sopra.

Commenti

Dopo aver accettato un canale, è necessario chiuderlo quando non è più necessario e liberare le risorse chiamando
Funzione WsCloseChannel e quindi chiamata a WsFreeChannel o WsResetChannel. CHANGETABLE(CHANGES …).

Affinché WsAcceptChannel abbia esito positivo, il listener deve essere in stato WS_LISTENER_STATE_OPEN e il canale deve essere in WS_CHANNEL_STATE_CREATED stato. Per altre informazioni, vedere l'enumerazione WS_LISTENER_STATE e WS_CHANNEL_STATE .

Se un listener si trova nello stato di WS_LISTENER_STATE_FAULTED ,
WsAcceptChannel restituisce immediatamente il codice di errore WS_E_OBJECT_FAULTED . Se un'applicazione chiama WsAcceptChannel in un ciclo, l'applicazione deve verificare la presenza di questo errore, in modo che possa terminare il ciclo.

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