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

MiniportInterruptDPC

MiniportMessageInterruptDPC

NdisMQueueDpcEx

NdisMRegisterInterruptEx