Função WsCloseChannel (webservices.h)
Fecha um canal especificado.
Sintaxe
HRESULT WsCloseChannel(
[in] WS_CHANNEL *channel,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
Parâmetros
[in] channel
Ponteiro para uma estrutura WS_CHANNEL que representa o canal a ser fechado.
[in, optional] asyncContext
Ponteiro para um WS_ASYNC_CONTEXT estrutura de dados que contém informações para invocar a função de forma assíncrona. Passe um valor NULL para chamar a função de forma síncrona.
[in, optional] error
Ponteiro para uma estrutura WS_ERROR em que informações de erro adicionais são armazenadas se a função falhar.
Retornar valor
Se a função for bem-sucedida, ela retornará NO_ERROR; caso contrário, ele retorna um código de erro HRESULT.
Código de retorno | Descrição |
---|---|
|
A operação assíncrona ainda está pendente. |
|
O fechamento do canal foi anulado por uma chamada para WsAbortChannel enquanto o canal estava fechando. |
|
O canal estava em um estado inadequado (consulte a seção Comentários). |
|
A conexão com o ponto de extremidade remoto foi encerrada. |
|
O ponto de extremidade remoto não pôde processar a solicitação. |
|
Os dados de entrada não estavam no formato esperado ou não tinham o valor esperado. |
|
A operação não foi concluída dentro do tempo alocado. |
|
Uma cota foi excedida. |
|
Memória insuficiente para concluir a operação. |
|
Um ou mais argumentos são inválidos. |
|
Essa função pode retornar outros erros não listados acima. |
Comentários
Se você abrir um canal ou aceitar um canal com êxito, deverá fechá-lo quando ele não for mais necessário. Depois que um canal for fechado, os recursos associados poderão ser liberados com segurança.
O processo de fechamento de canal aguardará a conclusão de qualquer E/S já iniciada e pendente.
Se não houver mensagens sendo lidas ou gravadas no momento para o canal, o canal tentará um desligamento normal. Caso contrário, todas as E/S ainda pendentes no próprio canal serão anuladas e o canal fará um desligamento rude.
Se o canal tentar um desligamento normal, mas encontrar um erro, WsCloseChannel retornará um erro, mas o canal ainda será fechado.
Essa operação só será permitida se o canal estiver em estados WS_CHANNEL_STATE_OPEN ou WS_CHANNEL_STATE_FAULTED.
Fechar um canal desassocia automaticamente todas as mensagens que estão em processo de leitura ou gravação. Portanto, não é necessário chamar WsAbandonMessage antes de chamar WsCloseChannel).
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | webservices.h |
Biblioteca | WebServices.lib |
DLL | WebServices.dll |