Fungsi NdisMQueueDpc (ndis.h)
Driver miniport NDIS memanggil fungsi NdisMQueueDpc untuk menjadwalkan panggilan DPC pada CPU.
Sintaks
ULONG NdisMQueueDpc(
[in] NDIS_HANDLE NdisInterruptHandle,
[in] ULONG MessageId,
[in] ULONG TargetProcessors,
[in, optional] PVOID MiniportDpcContext
);
Parameter
[in] NdisInterruptHandle
Handel interupsi yang diperoleh driver miniport dalam panggilan sebelumnya ke Fungsi NdisMRegisterInterruptEx .
[in] MessageId
ID pesan MSI untuk DPC. Jika DPC adalah untuk interupsi berbasis baris, parameter ini tidak digunakan dan harus diatur ke nol. Jika tidak, MessageId adalah indeks untuk IO_INTERRUPT_MESSAGE_INFO_ENTRY struktur di dalam IO_INTERRUPT_MESSAGE_INFO struktur. NDIS meneruskan penunjuk ke struktur IO_INTERRUPT_MESSAGE_INFO terkait di anggota MessageInfoTable ketika driver berhasil mendaftar untuk MSI dengan fungsi NdisMRegisterInterruptEx .
[in] TargetProcessors
Bitmap yang menunjukkan prosesor target di mana NDIS harus menjadwalkan DPC. Setiap bit dalam TargetProcessors mengidentifikasi CPU. Jika pemanggil menetapkan bit 0, NDIS menjadwalkan DPC untuk CPU 0. Jika penelepon menetapkan bit 1, NDIS menjadwalkan DPC untuk CPU 1, dan sebagainya.
[in, optional] MiniportDpcContext
Penunjuk ke area konteks yang ditentukan penelepon. NDIS meneruskan pointer ini ke parameter MiniportDpcContext dari MiniportInterruptDPC dan Fungsi MiniportMessageInterruptDPC .
Nilai kembali
NdisMQueueDpc mengembalikan bitmap yang menunjukkan prosesor target di mana NDIS berhasil menjadwalkan DPC. Setiap bit dalam nilai yang dikembalikan mengidentifikasi CPU. Jika NDIS menetapkan bit 0, NDIS menjadwalkan DPC untuk CPU 0. Jika NDIS menetapkan bit 1, NDIS menjadwalkan DPC untuk CPU 1, dan sebagainya.
Jika driver meminta DPC untuk CPU, dan NDIS menunjukkan bahwa itu tidak menjadwalkan DPC, DPC tidak dijadwalkan karena DPC sudah dijadwalkan untuk CPU tersebut.
Keterangan
NDIS memanggil MiniportInterruptDPC atau MiniportMessageInterruptDPC untuk menyelesaikan pemrosesan interupsi yang ditangguhkan. Driver miniport dapat memanggil NdisMQueueDpc untuk meminta panggilan DPC tambahan untuk prosesor lain.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung di NDIS 6.0 dan 6.1. Untuk NDIS 6.20 dan yang lebih baru, gunakan NdisMQueueDpcEx. |
Target Platform | Universal |
Header | ndis.h (termasuk Ndis.h) |
Pustaka | Ndis.lib |
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