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 |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk