Fungsi IoCsqInitializeEx (wdm.h)
Rutinitas IoCsqInitializeEx menginisialisasi tabel pengiriman untuk antrean IRP yang batal aman.
Sintaks
NTSTATUS IoCsqInitializeEx(
[out] PIO_CSQ Csq,
[in] PIO_CSQ_INSERT_IRP_EX CsqInsertIrp,
[in] PIO_CSQ_REMOVE_IRP CsqRemoveIrp,
[in] PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp,
[in] PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock,
[in] PIO_CSQ_RELEASE_LOCK CsqReleaseLock,
[in] PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp
);
Parameter
[out] Csq
Penunjuk ke struktur IO_CSQ yang akan diinisialisasi oleh IoCsqInitializeEx.
[in] CsqInsertIrp
Arahkan ke fungsi CsqInsertIrpEx yang ditentukan driver untuk antrean IRP pembatalan aman driver.
[in] CsqRemoveIrp
Penunjuk ke fungsi CsqRemoveIrp yang ditentukan driver untuk antrean IRP batal-aman driver.
[in] CsqPeekNextIrp
Arahkan ke fungsi CsqPeekNextIrp yang ditentukan driver untuk antrean IRP pembatalan-aman driver.
[in] CsqAcquireLock
Penunjuk ke fungsi CsqAcquireLock yang ditentukan driver untuk antrean IRP batal-aman driver.
[in] CsqReleaseLock
Penunjuk ke fungsi CsqReleaseLock yang ditentukan driver untuk antrean IRP batal-aman driver.
[in] CsqCompleteCanceledIrp
Penunjuk ke fungsi CsqCompleteCanceledIrp yang ditentukan driver untuk antrean IRP batal-aman driver.
Nilai kembali
IoCsqInitializeEx mengembalikan STATUS_SUCCESS pada keberhasilan, atau kode kesalahan yang sesuai pada kegagalan.
Keterangan
Rutinitas IoCsqInitialize dan IoCsqInitializeEx menginisialisasi struktur IO_CSQ yang menjelaskan antrean IRP pembatalan aman driver. Anda dapat menggunakan IoCsqInitializeEx untuk menentukan antrean IRP dengan kemampuan yang diperluas alih-alih yang ditentukan oleh IoCsqInitialize:
- Driver mengimplementasikan rutinitas CsqInsertIrpEx daripada rutinitas CsqInsertIrp . CsqInsertIrpEx mengambil parameter tambahan, InsertContext. Ketika driver memanggil IoCsqInsertIrpEx untuk menyisipkan IRP, driver menentukan nilai yang diteruskan sebagai InsertContext.
- IoCsqInsertIrpEx mengembalikan nilai pengembalian CsqInsertIrpEx. Driver dapat menggunakan nilai pengembalian untuk menunjukkan apakah operasi penyisipan berhasil atau gagal.
Perhatikan bahwa rutinitas IoCsqXxx menggunakan anggota DriverContext[3] dari IRP untuk menyimpan informasi konteks IRP. Driver yang menggunakan rutinitas ini untuk mengantre IRP harus membiarkan anggota tersebut tidak digunakan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows Server 2003 dan versi yang lebih baru dari sistem operasi Windows. Rutinitas ini juga tersedia di pustaka Csq.lib yang dikirim dengan Windows Driver Kit (WDK) dan Driver Development Kit (DDK) untuk Windows Server 2003. Driver yang juga harus bekerja pada Windows XP, Windows 2000, dan Windows 98/Me dapat menautkan ke Csq.lib untuk menggunakan rutinitas. |
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Tingkat apa pun |
Lihat juga
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