Fungsi pemindaian (wiamicro.h)

Fungsi Pemindaian membaca data dari perangkat dan mengembalikan data ke driver Flatbed WIA.

Sintaks

WIAMICRO_API HRESULT Scan(
  [in, out] PSCANINFO pScanInfo,
            LONG      lPhase,
  [out]     PBYTE     pBuffer,
            LONG      lLength,
  [out]     LONG      *plReceived
);

Parameter

[in, out] pScanInfo

Menentukan struktur SCANINFO yang mewakili pengaturan microdriver. Ini disimpan oleh driver Flatbed WIA untuk menjamin bahwa pengaturan antara microdriver dan driver Flatbed WIA disinkronkan.

lPhase

Menentukan fase pemindaian yang diminta. Parameter ini dapat diatur ke salah satu nilai berikut.

Nilai Makna
SCAN_FIRST Ini menandakan fase pertama pemindaian. Microdriver melakukan tiga tugas: menginisialisasi perangkat, menggunakan data dalam struktur SCANINFO untuk mengatur pemindaian (misalnya, mengatur resolusi, posisi mulai, lebar dan tinggi pada perangkat), dan memulai pemindaian. Data harus dikembalikan dari panggilan ini. Data harus dimasukkan ke dalam buffer yang diacu oleh pBuffer dan parameter pReceived harus diatur ke jumlah data yang dimasukkan ke dalam buffer.
SCAN_NEXT Ini akan berulang kali dipanggil selama transfer data. Data harus dimasukkan ke dalam buffer yang diacu oleh pBuffer dan parameter pReceived harus diatur ke jumlah data yang dimasukkan ke dalam buffer.
SCAN_FINISHED Ini akan dipanggil di akhir pemindaian untuk mengakhiri proses pemindaian. Tidak ada data yang harus ditransfer. SCAN_FINISHED akan selalu dipanggil meskipun pengguna membatalkan pemindaian. Microdriver harus berhenti mentransfer data dan pemindai harus diatur ulang sehingga siap untuk pemindaian berikutnya. Data yang dikembalikan dari fungsi ini harus dalam format mentah tanpa header apa pun. Data dapat dikemas atau dikemas, diselaraskan atau tidak selaras, dan dalam urutan RGB atau BGR. Atur anggota RawDataFormat, RawPixelOrder, dan bNeedDataAlignment dari struktur SCANINFO dengan tepat sebagai respons terhadap perintah CMD_INITIALIZE.

[out] pBuffer

Menentukan buffer yang akan diisi dengan data yang dipindai oleh microdriver. Buffer ini dialokasikan oleh Driver Flatbed WIA dan dijamin memiliki panjang setidaknya lLength byte.

lLength

Menentukan jumlah data yang diminta yang akan dipindai. Microdriver tidak boleh mengisi berlebihan buffer yang diacu oleh pBuffer.

[out] plReceived

Menentukan jumlah data yang benar-benar dipindai ke pBuffer. Nilai ini tidak boleh melebihi nilai lLength, tetapi bisa kurang.

Mengembalikan nilai

Jika fungsi berhasil, fungsi akan mengembalikan S_OK. Jika fungsi gagal, fungsi mengembalikan kode kesalahan COM standar.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header wiamicro.h (termasuk Wiamicro.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe

Lihat juga

SCANINFO

Perintah Microdriver WIA

Struktur Microdriver WIA