Bagikan melalui


Metode IByteBuffer::Read

[Metode Baca 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 Baca membaca jumlah byte tertentu dari objek buffer ke dalam memori yang dimulai pada penunjuk pencarian saat ini.

Sintaks

HRESULT Read(
  [out] BYTE *pByte,
  [in]  LONG cb,
  [out] LONG *pcbRead
);

Parameter

pByte [out]

Menunjuk ke buffer tempat data aliran dibaca. Jika terjadi kesalahan, nilai ini adalah NULL.

cb [in]

Jumlah byte data untuk mencoba membaca dari objek stream.

pcbRead [out]

Alamat variabel LONG yang menerima jumlah byte aktual yang dibaca dari objek stream. Anda dapat mengatur penunjuk ini ke NULL untuk menunjukkan bahwa Anda tidak tertarik dengan nilai ini. Dalam hal ini, metode ini tidak menyediakan jumlah byte aktual yang dibaca.

Menampilkan nilai

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

Keterangan

Metode ini membaca byte dari objek aliran ini ke dalam memori. Objek stream harus dibuka dalam mode STGM_READ. Metode ini menyesuaikan penunjuk pencarian dengan jumlah byte aktual yang dibaca.

Jumlah byte yang benar-benar dibaca juga dikembalikan dalam parameter pcbRead .

Catatan Bagi Pemanggil

Jumlah aktual byte yang dibaca dapat kurang dari jumlah byte yang diminta jika terjadi kesalahan atau jika akhir aliran tercapai selama operasi baca.

Beberapa implementasi mungkin mengembalikan kesalahan jika akhir aliran tercapai selama pembacaan. Anda harus siap untuk menangani pengembalian kesalahan atau S_OK mengembalikan nilai pada akhir pembacaan aliran.

Contoh

Contoh berikut menunjukkan pembacaan byte dari buffer.

BYTE     byAtr[32];
long     lBytesRead, i;
HRESULT  hr;

// pAtr is a pointer to a previously instantiated IByteBuffer.
// It was used in an earlier call by ISCard::get_Atr.
// Use IByteBuffer::Read to access the retrieved ATR bytes.
hr = pAtr->Read(byAtr, 32, &lBytesRead);
// Use the ATR value. (This example merely displays the bytes.)
for ( i = 0; i < lBytesRead; i++)
    printf("%c", *(byAtr + i));
printf("\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