Función WsCloseChannel (webservices.h)
Cierra un canal especificado.
Sintaxis
HRESULT WsCloseChannel(
[in] WS_CHANNEL *channel,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
Parámetros
[in] channel
Puntero a una estructura de WS_CHANNEL que representa el canal que se va a cerrar.
[in, optional] asyncContext
Puntero a una estructura de datos de WS_ASYNC_CONTEXT que contiene información para invocar la función de forma asincrónica. Pase un valor NULL para llamar a la función de forma sincrónica.
[in, optional] error
Puntero a una estructura de WS_ERROR donde se almacena información de error adicional si se produce un error en la función.
Valor devuelto
Si la función se realiza correctamente, devuelve NO_ERROR; de lo contrario, devuelve un código de error HRESULT.
Código devuelto | Descripción |
---|---|
|
La operación asincrónica sigue pendiente. |
|
El cierre del canal se anuló mediante una llamada a WsAbortChannel mientras el canal estaba cerrando. |
|
El canal estaba en un estado inadecuado (consulte la sección Comentarios). |
|
Se finalizó la conexión con el punto de conexión remoto. |
|
El punto de conexión remoto no pudo procesar la solicitud. |
|
Los datos de entrada no tenían el formato esperado o no tenían el valor esperado. |
|
La operación no se completó dentro del tiempo asignado. |
|
Se superó una cuota. |
|
Memoria insuficiente para completar la operación. |
|
Uno o más argumentos no son válidos. |
|
Esta función puede devolver otros errores no enumerados anteriormente. |
Comentarios
Si abre un canal o acepta correctamente un canal, debe cerrarlo cuando ya no sea necesario. Una vez cerrado un canal, los recursos asociados se pueden liberar de forma segura.
El proceso de cierre del canal esperará a que se completen las E/S ya iniciadas y pendientes.
Si no hay mensajes leídos o escritos actualmente para el canal, el canal intenta un apagado correcto. De lo contrario, se anulan todas las E/S pendientes en el propio canal y el canal realiza un apagado grosero.
Si el canal intenta un apagado correcto, pero se produce un error, WsCloseChannel devolverá un error, pero el canal seguirá cerrado.
Esta operación solo se permite si el canal está en WS_CHANNEL_STATE_OPEN o WS_CHANNEL_STATE_FAULTED estados.
Cerrar un canal desasocia automáticamente los mensajes que están en proceso de lectura o escritura. Por lo tanto, no es necesario llamar a WsAbandonMessage antes de llamar a WsCloseChannel).
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | webservices.h |
Library | WebServices.lib |
Archivo DLL | WebServices.dll |