Método IWSDOutboundAttachment::Write (wsdattachment.h)
Envía datos adjuntos al host remoto mediante un contenedor MIME.
Sintaxis
HRESULT Write(
[in] const BYTE *pBuffer,
[in] DWORD dwBytesToWrite,
[out] LPDWORD pdwNumberOfBytesWritten
);
Parámetros
[in] pBuffer
Puntero a un búfer que contiene los datos de salida. El programa de aplicación es responsable de asignar y liberar este búfer de datos.
[in] dwBytesToWrite
Número de bytes que se van a enviar al host remoto desde pBuffer.
[out] pdwNumberOfBytesWritten
Puntero a un DWORD que contiene el número de bytes de datos que se envían realmente al host remoto.
Valor devuelto
Entre los valores devueltos posibles se incluyen, entre otros, los siguientes:
Código devuelto | Descripción |
---|---|
|
El método se completó correctamente. |
|
pdwNumberofBytesWritten es NULL. |
|
pBuffer es NULL. |
|
La interfaz de datos adjuntos salientes no se ha inicializado. Llame a WSDCreateOutboundAttachment para inicializar la interfaz. |
|
Los búferes internos no estaban disponibles. Los datos no se aceptaron y se ponen en cola para la transmisión. |
Comentarios
El método Write permite a un programa de aplicación enviar datos arbitrarios a un host remoto como datos adjuntos de mensajes encapsulados por MIME. La primera llamada a Write abre el flujo de datos adjuntos salientes e inicia la transmisión de los encabezados HTTP, los datos de sobre y los datos de la aplicación codificados por MIME. Las llamadas posteriores a Write enviarán bloques adicionales de datos de aplicación codificados con MIME hasta que la aplicación realice una llamada a Close, que cierra la secuencia de datos adjuntos y finaliza la transmisión de los datos y encabezados del sobre del mensaje.
La operación de escritura puede bloquearse en varias condiciones. En la operación inicial, Write se bloqueará hasta que se hayan transmitido los encabezados HTTP y el contenido XML. Al enviar varios datos adjuntos en un solo mensaje, la primera llamada a Escribir en cualquier dato adjunto puede bloquearse hasta que se hayan transmitido completamente las secuencias de datos adjuntos anteriores. La escritura puede bloquear hasta 30 segundos (por tiempo de espera de transmisión HTTP) si el host remoto no responde.
Si se produce un error al establecer una conexión o transmitir encabezados, Write devolverá el código de error inmediatamente. Si se produce un error de transferencia de datos, el error puede retrasarse a una llamada futura de Write o Close.
El método Write puede devolverse correctamente después de un intento de escritura erróneo que devolvió STG_S_BLOCK. Una operación correcta posterior indica que los búferes internos se liberaron para su uso después del intento inicial de error. Cuando una aplicación recibe STG_S_BLOCK , la aplicación puede reenviar los mismos datos mediante el método Write o finalizar la transferencia de datos mediante el método Abort .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wsdattachment.h (incluya Wsdapi.h) |
Archivo DLL | Wsdapi.dll |