NdisMQueueDpc-Funktion (ndis.h)

NDIS-Miniporttreiber rufen die NdisMQueueDpc-Funktion auf, um DPC-Aufrufe auf CPUs zu planen.

Syntax

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

Parameter

[in] NdisInterruptHandle

Ein Interrupthandle, das der Miniporttreiber bei einem vorherigen Aufruf des NdisMRegisterInterruptEx-Funktion .

[in] MessageId

Eine MSI-Nachrichten-ID für den DPC. Wenn der DPC für einen zeilenbasierten Interrupt gilt, wird dieser Parameter nicht verwendet, und er sollte auf 0 festgelegt werden. Andernfalls ist MessageId ein Index für die IO_INTERRUPT_MESSAGE_INFO_ENTRY Strukturen in einem IO_INTERRUPT_MESSAGE_INFO Struktur. NDIS übergibt einen Zeiger auf die zugeordnete IO_INTERRUPT_MESSAGE_INFO-Struktur am MessageInfoTable-Member , wenn der Treiber erfolgreich für MSI mit der NdisMRegisterInterruptEx-Funktion 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 auf 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 bereits ein DPC für diese CPU geplant war.

Hinweise

NDIS ruft MiniportInterruptDPC auf 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
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.0 und 6.1. Verwenden Sie für NDIS 6.20 und höher NdisMQueueDpcEx.
Zielplattform Universell
Header ndis.h (einschließlich Ndis.h)
Bibliothek Ndis.lib
IRQL Beliebige Ebene

Weitere Informationen

MiniportInterruptDPC

MiniportMessageInterruptDPC

NdisMQueueDpcEx

NdisMRegisterInterruptEx