Bagikan melalui


Metode IByteBuffer::Write

[Metode Tulis tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Ini tidak tersedia untuk digunakan di Windows Server 2003 dengan Paket Layanan 1 (SP1) dan yang lebih baru, Windows Vista, Windows Server 2008, dan versi sistem operasi berikutnya. Antarmuka IStream menyediakan fungsionalitas serupa.]

Metode Tulis menulis angka tertentu dari byte ke dalam objek aliran yang dimulai pada penunjuk pencarian saat ini.

Sintaks

HRESULT Write(
  [in]  BYTE *pByte,
  [in]  LONG cb,
  [out] LONG *pcbWritten
);

Parameter

pByte [in]

Alamat buffer yang berisi data yang akan ditulis ke aliran. Pointer yang valid harus disediakan untuk parameter ini bahkan ketika cb adalah nol.

cb [in]

Jumlah byte data untuk mencoba menulis ke aliran. Parameter ini bisa nol.

pcbWritten [out]

Alamat variabel LONG di mana metode ini menulis jumlah byte aktual yang ditulis ke objek stream. Pemanggil dapat mengatur penunjuk ini ke NULL, dalam hal ini, metode ini tidak memberikan jumlah byte aktual yang ditulis.

Menampilkan nilai

Nilai yang dikembalikan adalah HRESULT. Nilai S_OK menunjukkan bahwa panggilan berhasil.

Keterangan

Metode IByteBuffer::Write menulis data yang ditentukan ke objek stream. Penunjuk pencarian disesuaikan untuk jumlah byte yang benar-benar ditulis. Jumlah byte yang benar-benar ditulis dikembalikan dalam parameter pcbWritten . Jika jumlah byte nol byte, operasi tulis tidak berpengaruh.

Jika penunjuk pencarian saat ini melewati akhir aliran dan jumlah byte bukan nol, metode ini meningkatkan ukuran aliran ke penunjuk pencarian dan menulis byte yang ditentukan mulai dari penunjuk pencarian. Byte isian yang ditulis ke aliran tidak diinisialisasi ke nilai tertentu. Ini sama dengan perilaku akhir file dalam sistem file MS-DOS FAT.

Dengan jumlah byte nol dan penunjuk pencarian melewati akhir aliran, metode ini tidak membuat byte isi untuk meningkatkan aliran ke penunjuk pencarian. Dalam hal ini, Anda harus memanggil metode IByteBuffer::SetSize untuk meningkatkan ukuran aliran dan menulis byte isian.

Parameter pcbWritten dapat memiliki nilai bahkan jika terjadi kesalahan.

Dalam implementasi yang disediakan COM, objek stream tidak jarang. Setiap byte pengisian akhirnya dialokasikan pada disk dan ditetapkan ke aliran.

Contoh

Contoh berikut menunjukkan penulisan byte ke dalam objek stream.

LONG     lWrite;
HRESULT  hr;

// Write to the buffer.
// byData is an array of 64 bytes.
hr = pIByteBuff->Write(byData,
                       64,
                       &lWrite);
if (FAILED(hr))
  printf("Failed IByteBuffer::Write\n");

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows XP [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2003 [hanya aplikasi desktop]
Akhir dukungan klien
Windows XP
Akhir dukungan server
Windows Server 2003
Header
Scardssp.h
Pustaka jenis
Scardssp.tlb
DLL
Scardssp.dll
IID
IID_IByteBuffer didefinisikan sebagai E126F8FE-A7AF-11D0-B88A-00C04FD424B9