PPARALLEL_TRY_SELECT_ROUTINE fungsi panggilan balik (parallel.h)
Rutinitas panggilan balik jenis PPARALLEL_TRY_SELECT_ROUTINE memilih perangkat rantai daisy IEEE 1284.3 atau perangkat end-of-chain IEEE 1284 yang dilampirkan ke port paralel. Driver fungsi yang disediakan sistem untuk port paralel memasok rutinitas ini.
Sintaks
PPARALLEL_TRY_SELECT_ROUTINE PparallelTrySelectRoutine;
NTSTATUS PparallelTrySelectRoutine(
[in] PVOID TrySelectContext,
[in] PVOID TrySelectCommand
)
{...}
Parameter
[in] TrySelectContext
Penunjuk ke ekstensi perangkat dari objek perangkat fungsional port paralel (FDO).
[in] TrySelectCommand
Penunjuk ke struktur PARALLEL_1284_COMMAND . Pemanggil menentukan anggota berikut:
ID
Menentukan ID perangkat 1284.3.
CommandFlags
Menentukan bitwise OR dari nol atau beberapa bendera berikut:
Nilai | Deskripsi |
---|---|
PAR_END_OF_CHAIN_DEVICE | Menentukan perangkat akhir rantai. |
PAR_HAVE_PORT_KEEP_PORT | Menentukan bahwa pemanggil memiliki port yang dialokasikan dan untuk menjaga port dialokasikan. |
Nilai kembali
Menampilkan kode | Deskripsi |
---|---|
|
Perangkat dipilih. |
|
ID perangkat tidak valid. |
|
Pemanggil tidak menentukan PAR_HAVE_PORT_KEEP_PORT, dan port paralel sudah dialokasikan. |
|
Pemanggil telah mengalokasikan port paralel, tetapi driver fungsi yang disediakan sistem untuk port paralel tidak dapat memilih perangkat paralel yang ditentukan. |
Keterangan
Untuk mendapatkan penunjuk ke panggilan balik PPARALLEL_TRY_SELECT_ROUTINE yang disediakan sistem, driver mode kernel menggunakan permintaan IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO , yang mengembalikan struktur PARALLEL_PNP_INFORMATION . Anggota TrySelectDevice dari struktur PARALLEL_PNP_INFORMATION adalah penunjuk ke panggilan balik ini.
Driver mode kernel dapat menggunakan permintaan IOCTL_INTERNAL_SELECT_DEVICE atau panggilan balik PPARALLEL_TRY_SELECT_ROUTINE untuk memilih perangkat paralel pada port paralel. Driver fungsi port paralel mengantre permintaan pilih jika port paralel sudah dialokasikan. Namun, panggilan balik PPARALLEL_TRY_SELECT_ROUTINE tidak mengantre permintaan pilih, dan rutinitas segera kembali jika port tidak dapat dialokasikan.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | parallel.h (termasuk Parallel.h) |
IRQL | <=DISPATCH_LEVEL |
Lihat juga
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO