Bagikan melalui


Metode IWSDOutboundAttachment::Write (wsdattachment.h)

Mengirim data lampiran ke host jarak jauh menggunakan kontainer MIME.

Sintaks

HRESULT Write(
  [in]  const BYTE *pBuffer,
  [in]  DWORD      dwBytesToWrite,
  [out] LPDWORD    pdwNumberOfBytesWritten
);

Parameter

[in] pBuffer

Penunjuk ke buffer yang berisi data output. Program aplikasi bertanggung jawab untuk mengalokasikan dan membebaskan buffer data ini.

[in] dwBytesToWrite

Jumlah byte yang akan dikirim ke host jarak jauh dari pBuffer.

[out] pdwNumberOfBytesWritten

Penunjuk ke DWORD yang berisi jumlah byte data yang benar-benar dikirim ke host jarak jauh.

Mengembalikan nilai

Kemungkinan nilai pengembalian termasuk, tetapi tidak terbatas pada, berikut ini:

Menampilkan kode Deskripsi
S_OK
Metode berhasil diselesaikan.
E_POINTER
pdwNumberofBytesWritten adalah NULL.
E_INVALIDARG
pBuffer adalah NULL.
HRESULT_FROM_WIN32(ERROR_INVALID_OPERATION)
Antarmuka lampiran keluar belum diinisialisasi. Panggil WSDCreateOutboundAttachment untuk menginisialisasi antarmuka.
STG_S_BLOCK
Buffer internal tidak tersedia. Data tidak diterima dan diantrekan untuk transmisi.

Keterangan

Metode Tulis memungkinkan program aplikasi untuk mengirim data arbitrer ke host jarak jauh sebagai lampiran pesan yang dienkapsulasi MIME. Panggilan pertama ke Tulis membuka aliran lampiran keluar dan memulai transmisi header HTTP, data amplop, dan data aplikasi yang dikodekan MIME. Panggilan berikutnya ke Write akan mengirim blok tambahan data aplikasi yang dikodekan MIME sampai aplikasi melakukan panggilan ke Tutup, yang menutup aliran lampiran dan menyelesaikan transmisi data dan header amplop pesan.

Operasi Tulis dapat diblokir dalam beberapa kondisi. Pada operasi awal, Tulis akan memblokir hingga header HTTP dan konten XML telah ditransmisikan. Saat mengirim beberapa lampiran dalam satu pesan, panggilan pertama ke Tulis pada lampiran apa pun dapat memblokir hingga aliran lampiran sebelumnya telah sepenuhnya dikirimkan. Tulis dapat memblokir hingga 30 detik (per batas waktu transmisi HTTP) jika host jarak jauh tidak membalas.

Jika terjadi kesalahan dalam membuat koneksi atau mengirimkan header, Write akan segera mengembalikan kode kesalahan. Jika terjadi kesalahan transfer data, kesalahan mungkin tertunda pada panggilan Tulis atau Tutup di masa mendatang.

Metode Tulis dapat berhasil dikembalikan setelah upaya Tulis gagal yang mengembalikan STG_S_BLOCK. Keberhasilan berikutnya menunjukkan bahwa buffer internal dibebaskan untuk digunakan setelah upaya awal gagal. Ketika STG_S_BLOCK diterima oleh aplikasi, aplikasi dapat mengirim ulang data yang sama menggunakan metode Tulis atau mengakhiri transfer data menggunakan metode Batalkan .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header wsdattachment.h (termasuk Wsdapi.h)
DLL Wsdapi.dll

Lihat juga

IWSDInboundAttachment

IWSDOutboundAttachment

IWSDOutboundAttachment::Abort

IWSDOutboundAttachment::Close