IWSDOutboundAttachment::Write 方法 (wsdattachment.h)
使用 MIME 容器将附件数据发送到远程主机。
语法
HRESULT Write(
[in] const BYTE *pBuffer,
[in] DWORD dwBytesToWrite,
[out] LPDWORD pdwNumberOfBytesWritten
);
参数
[in] pBuffer
指向包含输出数据的缓冲区的指针。 应用程序负责分配和释放此数据缓冲区。
[in] dwBytesToWrite
要从 pBuffer 发送到远程主机的字节数。
[out] pdwNumberOfBytesWritten
指向包含实际发送到远程主机的数据字节数的 DWORD 的指针。
返回值
可能的返回值包括但不限于以下值:
返回代码 | 说明 |
---|---|
|
方法已成功完成。 |
|
pdwNumberofBytesWritten 为 NULL。 |
|
pBuffer 为 NULL。 |
|
尚未初始化出站附件接口。 调用 WSDCreateOutboundAttachment 以初始化接口。 |
|
内部缓冲区不可用。 数据未被接受并排队等待传输。 |
注解
Write 方法允许应用程序将任意数据作为 MIME 封装的消息附件发送到远程主机。 对 Write 的第一次调用将打开出站附件流,并启动 HTTP 标头、信封数据和 MIME 编码的应用程序数据的传输。 对 Write 的后续调用将发送其他 MIME 编码的应用程序数据块,直到应用程序调用 Close,这会关闭附件流并完成消息信封数据和标头的传输。
在多种情况下 ,写入 操作可能会受阻。 在初始操作中, 写入 将阻塞,直到传输 HTTP 标头和 XML 内容。 在单个邮件中发送多个附件时,在任何附件上 对 Write 的第一次调用可能会受阻,直到完全传输任何以前的附件流。 如果远程主机不回复,则每次 HTTP 传输超时) ,写入可能会阻塞最多 30 秒 (。
如果在建立连接或传输标头时发生错误, Write 将立即返回错误代码。 如果发生数据传输错误,该错误可能会延迟到将来调用 Write 或 Close。
在返回STG_S_BLOCK失败的 Write 尝试后,Write 方法可能会成功返回。 后续的成功表示内部缓冲区在初始尝试失败后已释放以供使用。 当应用程序收到 STG_S_BLOCK 时,应用程序可以使用 Write 方法重新发送相同的数据,或使用 Abort 方法终止数据传输。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | wsdattachment.h (包括 Wsdapi.h) |
DLL | Wsdapi.dll |