Metode IWiaDataTransfer::idtGetBandedData (wia_xp.h)

Metode IWiaDataTransfer::idtGetBandedData mentransfer sekumpulan data dari perangkat keras ke aplikasi. Untuk efisiensi, aplikasi mengambil data dari perangkat keras Windows Image Acquisition (WIA) dalam pita berturut-turut.

Sintaks

HRESULT idtGetBandedData(
  [in] PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,
  [in] IWiaDataCallback        *pIWiaDataCallback
);

Parameter

[in] pWiaDataTransInfo

Jenis: PWIA_DATA_TRANSFER_INFO

Arahkan ke struktur WIA_DATA_TRANSFER_INFO .

[in] pIWiaDataCallback

Jenis: IWiaDataCallback*

Arahkan ke antarmuka IWiaDataCallback . Secara berkala, metode ini akan memanggil metode BandedDataCallback untuk memberikan pemberitahuan status transfer data kepada aplikasi.

Mengembalikan nilai

Jenis: HRESULT

Metode ini dapat mengembalikan salah satu nilai berikut:

Tampilkan Nilai Makna
E_INVALIDARG Satu atau beberapa parameter untuk metode ini berisi data yang tidak valid.
E_OUTOFMEMORY Metode ini tidak dapat mengalokasikan cukup memori untuk menyelesaikan operasinya.
E_UNEXPECTED Terjadi kesalahan yang tidak diketahui.
S_FALSE Aplikasi membatalkan operasi.
S_OK Gambar berhasil diperoleh.
STG_E_MEDIUMFULL Media penyimpanan yang digunakan aplikasi untuk memperoleh gambar penuh.
WIA_S_NO_DEVICE_AVAILABLE Tidak ada perangkat keras WIA yang terpasang pada komputer pengguna.
 

Metode ini akan mengembalikan nilai yang ditentukan dalam Kode Kesalahan, atau kesalahan COM standar jika gagal karena alasan apa pun selain yang ditentukan dalam tabel sebelumnya.

Keterangan

Metode IWiaDataTransfer::idtGetBandedData mengalokasikan bagian memori untuk mentransfer data tanpa memerlukan salinan data tambahan melalui lapisan marshalling Model Objek Komponen/Panggilan Prosedur Jarak Jauh (COM/RPC). Bagian memori ini dibagi antara aplikasi dan pohon item perangkat keras.

Secara opsional, aplikasi dapat meneruskan pointer ke blok memori yang akan digunakan IWiaDataTransfer::idtGetBandedData sebagai bagian bersamanya. Aplikasi melewati handel ini dengan menyimpan pointer di anggota ulSection dari struktur WIA_DATA_TRANSFER_INFO sebelum memanggil IWiaDataTransfer::idtGetBandedData.

Aplikasi dapat meningkatkan performa dengan menggunakan buffering ganda. Untuk melakukan ini, aplikasi harus mengatur anggota bDoubleBuffer dari struktur WIA_DATA_TRANSFER_INFO ke TRUE. Metode IWiaDataTransfer::idtGetBandedData akan membagi buffer data menjadi dua. Ketika setengah buffer penuh, IWiaDataTransfer::idtGetBandedData akan mengirim pemberitahuan ke aplikasi menggunakan pointer IWiaDataCallback yang diteruskan melalui parameter pIWiaDataCallback . Saat aplikasi mengambil data dari setengah buffer penuh, driver perangkat dapat mengisi setengah lainnya dengan data.

Format transfer data ditentukan oleh nilai properti WIA_IPA_FORMAT dan WIA_IPA_TYMED item. Aplikasi mengatur properti ini dengan panggilan ke metode IWiaPropertyStorage::WriteMultiple .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional, Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header wia_xp.h (termasuk Wia.h)
Pustaka Wiaguid.lib
DLL Wiaservc.dll