Fungsi NdisMQueueDpcEx (ndis.h)
Driver miniport NDIS memanggil fungsi NdisMQueueDpcEx untuk menjadwalkan panggilan DPC pada CPU.
Sintaks
KAFFINITY NdisMQueueDpcEx(
[in] IN NDIS_HANDLE NdisInterruptHandle,
[in] IN ULONG MessageId,
[in] IN PGROUP_AFFINITY TargetProcessors,
[in] IN 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. NDIS harus menjadwalkan DPC untuk setiap prosesor target yang ditunjukkan dalam bitmap. Setiap bit dalam TargetProcessors mengidentifikasi CPU. Jika pemanggil menetapkan bit 0, NDIS menjadwalkan DPC untuk CPU 0. Jika penelepon mengatur bit 1, NDIS menjadwalkan DPC untuk CPU 1, dan sebagainya.
[in] MiniportDpcContext
Penunjuk ke area konteks yang ditentukan penelepon. NDIS meneruskan pointer ini ke parameter MiniportDpcContext dari MiniportInterruptDPC dan Fungsi MiniportMessageInterruptDPC .
Nilai kembali
NdisMQueueDpcEx mengembalikan bitmap yang menunjukkan prosesor target. Setiap bit dalam nilai yang dikembalikan mengidentifikasi CPU.
NDIS berhasil menjadwalkan DPC untuk setiap prosesor target yang diatur dalam bitmap. 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 ia tidak menjadwalkan DPC tersebut, maka DPC tidak dijadwalkan karena DPC yang memetakan ke pasangan interupsi/prosesor ini sudah dijadwalkan untuk CPU tersebut.
Keterangan
Driver miniport NDIS 6.20 dan yang lebih baru memanggil NdisMQueueDpcEx untuk meminta panggilan DPC untuk prosesor lain. NDIS memanggil MiniportInterruptDPC atau Fungsi MiniportMessageInterruptDPC untuk menyelesaikan pemrosesan interupsi yang ditangguhkan.
NdisMQueueDpcEx sama dengan fungsi NdisMQueueDpc kecuali bahwa parameter TargetProcessors memiliki jenis KGROUP_AFFINITY. Oleh karena itu, NdisMQueueDpcEx dapat menjadwalkan DPC pada prosesor dalam grup prosesor apa pun. Untuk menjadwalkan DPC di lebih dari satu grup prosesor, Anda dapat menggunakan beberapa panggilan ke NdisMQueueDpcEx.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung di NDIS 6.20 dan yang lebih baru. |
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