Condividi tramite


Funzione WsShutdownSessionChannel (webservices.h)

Usato per segnalare la fine dei messaggi per un canale di sessione.

Sintassi

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

Parametri

[in] channel

Canale di sessione da arrestare.

[in, optional] asyncContext

Informazioni su come richiamare la funzione in modo asincrono o NULL se si richiama in modo sincrono.

[in, optional] error

Specifica la posizione in cui devono essere archiviate informazioni aggiuntive sugli errori se la funzione ha esito negativo.

Valore restituito

Questa funzione può restituire uno di questi valori.

Codice restituito Descrizione
WS_E_INVALID_OPERATION
Viene restituito se il canale non è nello stato di WS_CHANNEL_STATE_OPEN .

Commenti

Questa funzione indicherà all'entità remota che tutti i messaggi sono stati inviati per il canale.

La parte remota può rilevare che non sono disponibili più messaggi nel canale cercando il valore restituito WS_S_END durante la ricezione di un messaggio. Vedere Valori restituiti da Servizi Web Windows. Tuttavia, i messaggi possono anche non essere disponibili se i messaggi non dell'applicazione sono stati filtrati dal canale, come descritto in Panoramica del livello di canale. L'arresto della sessione può essere distinto dal filtro dei messaggi tenendo traccia del fatto che i messaggi precedenti siano stati ricevuti. Se i messaggi precedenti sono stati ricevuti, la sessione è stata arrestata.

Questa funzione si applica solo ai canali creati con un WS_CHANNEL_TYPE con una sessione che supporta l'invio di messaggi:

Il canale deve essere in WS_CHANNEL_STATE_OPEN stato.

Se questa funzione ha esito positivo, il valore della proprietà WS_CHANNEL_PROPERTY_IS_SESSION_SHUT_DOWN sarà TRUE.

Dopo l'arresto di un canale di sessione, il tentativo di inviare un messaggio sul canale o di tentare di arrestare il canale restituirà WS_E_INVALID_OPERATION.

La chiamata a questa funzione è facoltativa. Quando un canale di sessione viene chiuso usando WsCloseChannel quando in WS_CHANNEL_STATE_OPEN, il canale viene arrestato automaticamente come parte del processo di chiusura.

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