共用方式為


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 並未排程,因為已針對該 CPU 排程 DPC。

言論

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

要求

要求 價值
最低支援的用戶端 NDIS 6.0 和 6.1 支援。 針對 NDIS 6.20 和更新版本,請使用 NdisMQueueDpcEx。
目標平臺 普遍
標頭 ndis.h (包括 Ndis.h)
連結庫 Ndis.lib
IRQL 任何層級

另請參閱

MiniportInterruptDPC

MiniportMessageInterruptDPC

NdisMQueueDpcEx

NdisMRegisterInterruptEx