estructura de WS_CHANNEL_ENCODER (webservices.h)
Estructura que se usa para especificar un conjunto de devoluciones de llamada que pueden transformar el tipo de contenido y los bytes codificados de un mensaje enviado.
Sintaxis
typedef struct _WS_CHANNEL_ENCODER {
void *createContext;
WS_CREATE_ENCODER_CALLBACK createEncoderCallback;
WS_ENCODER_GET_CONTENT_TYPE_CALLBACK encoderGetContentTypeCallback;
WS_ENCODER_START_CALLBACK encoderStartCallback;
WS_ENCODER_ENCODE_CALLBACK encoderEncodeCallback;
WS_ENCODER_END_CALLBACK encoderEndCallback;
WS_FREE_ENCODER_CALLBACK freeEncoderCallback;
} WS_CHANNEL_ENCODER;
Miembros
createContext
Contexto que se pasará al WS_CREATE_ENCODER_CALLBACK.
createEncoderCallback
Devolución de llamada WS_CREATE_ENCODER_CALLBACK que crea una instancia de un codificador.
encoderGetContentTypeCallback
Devolución de llamada WS_ENCODER_GET_CONTENT_TYPE_CALLBACK que se invoca cuando se va a codificar un mensaje.
encoderStartCallback
Devolución de llamada WS_ENCODER_START_CALLBACK que se invoca para iniciar la codificación de un mensaje.
encoderEncodeCallback
Una WS_ENCODER_ENCODE_CALLBACK devolución de llamada que se invoca para codificar un mensaje.
encoderEndCallback
Devolución de llamada WS_ENCODER_END_CALLBACK que se invoca al final de la codificación de un mensaje.
freeEncoderCallback
Devolución de llamada WS_FREE_ENCODER_CALLBACK que libera una instancia de un codificador.
Comentarios
Un WS_CHANNEL puede querer comprimir, modificar o transformar los bytes codificados de un mensaje antes de enviarlos. Un WS_CHANNEL_ENCODER proporciona los enlaces necesarios para interceptar y realizar estas modificaciones.
Al crear el canal, el WS_CHANNEL_PROPERTY_ENCODER debe establecerse con las funciones adecuadas.
La gramática de las devoluciones de llamada del codificador es:
encodercalls := create encoderloop* free
encoderloop := getcontenttype
| getcontenttype encodestart
| getcontenttype encodestart (encode*)
| getcontenttype encodestart (encode*) encodeend
Es posible que el codificador no vea la secuencia de codificación completa de un mensaje si el canal o el codificador encuentra un error al escribir el mensaje. Un codificador debe estar preparado para controlar la transición al estado adecuado en función de las devoluciones de llamada invocadas.
Al usar WS_TCP_CHANNEL_BINDING con WS_CHANNEL_TYPE_SESSION, el tipo de contenido se fija para el canal. En este caso, el WS_ENCODER_GET_CONTENT_TYPE_CALLBACK debe devolver exactamente el mismo valor para el tipo de contenido de cada mensaje.
Cuando el canal termine de usar la instancia del codificador, la liberará a través del WS_FREE_ENCODER_CALLBACK.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Encabezado | webservices.h |