Freigeben über


NdisMQueueDpc-Funktion (ndis.h)

NDIS miniport drivers call the NdisMQueueDpc function to schedule DPC calls on CPUs.

Syntax

ULONG NdisMQueueDpc(
  [in]           NDIS_HANDLE NdisInterruptHandle,
  [in]           ULONG       MessageId,
  [in]           ULONG       TargetProcessors,
  [in, optional] PVOID       MiniportDpcContext
);

Parameter

[in] NdisInterruptHandle

Ein Interrupt-Handle, den der Miniporttreiber in einem vorherigen Aufruf des Funktion NdisMRegisterInterruptEx.

[in] MessageId

Eine MSI-Nachrichten-ID für den DPC. Wenn der DPC für einen zeilenbasierten Interrupt bestimmt ist, wird dieser Parameter nicht verwendet und sollte auf Null festgelegt werden. Andernfalls ist MessageId ein Index für den IO_INTERRUPT_MESSAGE_INFO_ENTRY Strukturen in einem IO_INTERRUPT_MESSAGE_INFO Struktur. NDIS übergibt einen Zeiger an die zugeordnete IO_INTERRUPT_MESSAGE_INFO Struktur an der MessageInfoTable Member, wenn der Treiber erfolgreich für MSI mit der funktion NdisMRegisterInterruptEx registriert wird.

[in] TargetProcessors

Eine Bitmap, die die Zielprozessoren angibt, für die NDIS einen DPC planen soll. Jedes Bit in TargetProcessors identifiziert eine CPU. Wenn der Aufrufer Bit 0 festlegt, plant NDIS einen DPC für CPU 0. Wenn der Aufrufer Bit 1 festlegt, plant NDIS einen DPC für CPU 1 usw.

[in, optional] MiniportDpcContext

Ein Zeiger auf einen vom Aufrufer angegebenen Kontextbereich. NDIS übergibt diesen Zeiger an den MiniportDpcContext Parameter des MiniportInterruptDPC- und MiniportMessageInterruptDPC Funktionen.

Rückgabewert

NdisMQueueDpc gibt eine Bitmap zurück, die die Zielprozessoren angibt, für die NDIS erfolgreich einen DPC geplant hat. Jedes Bit im Rückgabewert identifiziert eine CPU. Wenn NDIS Bit 0 festlegt, hat NDIS einen DPC für CPU 0 geplant. Wenn NDIS Bit 1 festlegt, hat NDIS einen DPC für CPU 1 usw. geplant.

Wenn der Treiber einen DPC für eine CPU angefordert hat und NDIS angibt, dass er diesen DPC nicht geplant hat, wurde der DPC nicht geplant, da ein DPC bereits für diese CPU geplant wurde.

Bemerkungen

NDIS ruft MiniportInterruptDPC- oder MiniportMessageInterruptDPC, um die verzögerte Verarbeitung eines Interrupts abzuschließen. Der Miniporttreiber kann NdisMQueueDpc- aufrufen, um zusätzliche DPC-Aufrufe für andere Prozessoren anzufordern.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und 6.1. Verwenden Sie für NDIS 6.20 und höher NdisMQueueDpcEx.
Zielplattform- Universal
Header- ndis.h (include Ndis.h)
Library Ndis.lib
IRQL- Beliebige Ebene

Siehe auch

MiniportInterruptDPC-

MiniportMessageInterruptDPC

NdisMQueueDpcEx

NdisMRegisterInterruptEx