Fungsi RxPostToWorkerThread (rxworkq.h)
RxPostToWorkerThread memanggil rutinitas yang diteruskan sebagai parameter dalam konteks utas pekerja. Memori untuk WORK_QUEUE_ITEM harus dialokasikan oleh pemanggil.
Sintaks
NTSTATUS RxPostToWorkerThread(
[in] IN PRDBSS_DEVICE_OBJECT pMRxDeviceObject,
[in] IN WORK_QUEUE_TYPE WorkQueueType,
[in] IN PRX_WORK_QUEUE_ITEM pWorkQueueItem,
[in] IN PRX_WORKERTHREAD_ROUTINE Routine,
[in] IN PVOID pContext
);
Parameter
[in] pMRxDeviceObject
Penunjuk ke objek perangkat dari driver pengalih mini jaringan yang sesuai.
[in] WorkQueueType
Jenis antrean kerja yang mewakili prioritas tugas. Parameter ini bisa menjadi salah satu nilai berikut:
CriticalWorkQueue
Sisipkan WORK_QUEUE_ITEM ke dalam antrean tempat alur sistem dengan atribut prioritas real-time akan memproses item kerja.
DelayedWorkQueue
Sisipkan WORK_QUEUE_ITEM ke dalam antrean tempat alur sistem dengan atribut prioritas variabel akan memproses item kerja.
HyperCriticalWorkQueue
Sisipkan WORK_QUEUE_ITEM ke dalam antrean tempat utas sistem akan memproses item kerja sehingga rutinitas yang akan dipanggil tidak diblokir.
[in] pWorkQueueItem
Penunjuk ke WORK_QUEUE_ITEM.
[in] Routine
Penunjuk ke rutinitas untuk dipanggil.
[in] pContext
Penunjuk ke parameter konteks yang terkait dengan item kerja untuk diselesaikan yang diteruskan ke driver.
Nilai kembali
RxDispatchToWorkerThread mengembalikan STATUS_SUCCESS pada keberhasilan atau salah satu kode kesalahan berikut tentang kegagalan:
Menampilkan kode | Deskripsi |
---|---|
|
Item tidak dapat dikirim. |
Keterangan
Ada dua kasus umum operasi pengiriman ke utas pekerja. Trade-off antara dua operasi pengiriman berikut adalah waktu versus ruang (penggunaan memori):
- Ketika operasi akan dikirim berulang kali, waktu dilayani dengan mengalokasikan terlebih dahulu struktur WORK_QUEUE_ITEM sebagai bagian dari struktur data yang akan dikirim. Dalam hal ini, gunakan rutinitas RxPostToWorkerThread .
- Untuk operasi yang jarang terjadi, Anda dapat menghemat ruang dengan mengalokasikan dan membebaskan memori secara dinamis untuk item antrean kerja saat diperlukan. Dalam hal ini, gunakan rutinitas RxDispatchToWorkerThread .
Implementasi antrean rutin RxPostToWorkerThread saat ini bekerja ke prosesor yang sama dari mana panggilan berasal.
Jika rutinitas RxPostToWorkerThread gagal pada build debug, rutinitas _RxLog dipanggil dengan detail kesalahan. Jika rutinitas RxPostToWorkerThread gagal dan WMI diaktifkan di kernel, detail kesalahan akan dicatat dengan WMI.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | rxworkq.h (termasuk Rxworkq.h, Rxstruc.h, Ntifs.h) |
IRQL | <= APC_LEVEL |
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