共用方式為


NdisMQueueDpc 函式 (ndis.h)

NDIS 迷你埠驅動程式會呼叫 NdisMQueueDpc 函式,以排程 CPU 上的 DPC 呼叫。

語法

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

參數

[in] NdisInterruptHandle

迷你埠驅動程式在先前呼叫 中取得的中斷句柄 NdisMRegisterInterruptEx 函式。

[in] MessageId

DPC 的 MSI 訊息識別碼。 如果 DPC 用於行型中斷,則不會使用此參數,而且應該設定為零。 否則 ,MessageId 是 的索引 內IO_INTERRUPT_MESSAGE_INFO_ENTRY 結構 IO_INTERRUPT_MESSAGE_INFO 結構。 當驅動程式成功向 NdisMRegisterInterruptEx 函式註冊 MSI 時,NDIS 會在 MessageInfoTable 成員上傳遞相關IO_INTERRUPT_MESSAGE_INFO結構的指標。

[in] TargetProcessors

位圖,指出 NDIS 應該排程 DPC 的目標處理器。 TargetProcessors 中的每個位都會識別 CPU。 如果呼叫端設定位 0,NDIS 會排程 CPU 0 的 DPC。 如果呼叫端設定位 1,NDIS 會排程 CPU 1 的 DPC,依此類推。

[in, optional] MiniportDpcContext

呼叫端指定之內容區域的指標。 NDIS 會將這個指標傳遞至 MiniportInterruptDPC 和 的 MiniportDpcContext 參數 MiniportMessageInterruptDPC 函式。

傳回值

NdisMQueueDpc 會傳回點陣圖,指出 NDIS 已成功排程 DPC 的目標處理器。 傳回值中的每個位都會識別CPU。 如果 NDIS 設定位 0,NDIS 會排程 CPU 0 的 DPC。 如果 NDIS 設定位 1,NDIS 會排程 CPU 1 的 DPC,依此類推。

如果驅動程式要求 CPU 的 DPC,而 NDIS 表示它未排程該 DPC,則 DPC 並未排程,因為 DPC 已經排程該 CPU。

備註

NDIS 會呼叫 MiniportInterruptDPC MiniportMessageInterruptDPC 以完成中斷的延後處理。 迷你埠驅動程式可以呼叫 NdisMQueueDpc ,以要求其他處理器的其他 DPC 呼叫。

規格需求

需求
最低支援的用戶端 NDIS 6.0 和 6.1 支援。 針對 NDIS 6.20 和更新版本,請使用 NdisMQueueDpcEx。
目標平台 Universal
標頭 ndis.h (包括 Ndis.h)
程式庫 Ndis.lib
IRQL 任何層級

另請參閱

MiniportInterruptDPC

MiniportMessageInterruptDPC

NdisMQueueDpcEx

NdisMRegisterInterruptEx