NdisMSynchronizeWithInterruptEx 函式 (ndis.h)
Miniport 驅動程式會呼叫 NdisMSynchronizeWithInterruptEx 函式,以同步處理 miniport 驅動程式提供的函式與 MiniportInterrupt 函式的執行。
語法
BOOLEAN NdisMSynchronizeWithInterruptEx(
[in] NDIS_HANDLE NdisInterruptHandle,
[in] ULONG MessageId,
[in] MINIPORT_SYNCHRONIZE_INTERRUPT_HANDLER SynchronizeFunction,
[in] PVOID SynchronizeFunction,
[in] PVOID SynchronizeContext
);
參數
[in] NdisInterruptHandle
迷你埠驅動程式在先前呼叫 中取得的中斷句柄 NdisMRegisterInterruptEx 函式。
[in] MessageId
驅動程式必須同步處理的訊息訊號中斷。 如果 NDIS 未授與驅動程式發出訊號中斷的訊息,NDIS 會忽略此參數。 MessageId 是 的索引在內 IO_INTERRUPT_MESSAGE_INFO_ENTRY 結構 IO_INTERRUPT_MESSAGE_INFO 結構。 當驅動程式成功向 NdisMRegisterInterruptEx 函式註冊 MSI 時,NDIS 會在 MessageInfoTable 成員傳遞關聯IO_INTERRUPT_MESSAGE_INFO結構的指標。
[in] SynchronizeFunction
驅動程式的進入點 MiniportSynchronizeInterrupt 函式。
[in] SynchronizeFunction
驅動程式的進入點 MiniportSynchronizeInterrupt 函式。
[in] SynchronizeContext
在 SynchronizeContext 上傳遞至 MiniportSynchronizeInterrupt 函式的 miniport-driver-determined 內容區域的指標。
傳回值
NdisMSynchronizeWithInterruptEx 會傳回 MiniportSynchronizeInterrupt 傳回的布爾值。
言論
向 NdisMRegisterInterruptEx 註冊中斷的迷你埠驅動程式 使用 NdisMSynchronizeWithInterruptEx。 的值 MiniportSynchronizeInterrupt 函式傳回也會由 NdisMSynchronizeWithInterruptEx傳回。 這個傳播的值會提供給呼叫端的狀態。
任何與在 DIRQL 執行之任何其他驅動程式函式共用資源的迷你埠驅動程式函式,都必須使用 NdisMSynchronizeWithInterruptEx 來同步存取這些資源。 MiniportSynchronizeInterrupt 函式也會在 DIRQL 上執行,且共用資源會受到系統配置的微調鎖定保護。 因此,共用資源會受到 MiniportInterrupt 函式和呼叫端的同時存取保護。
NdisMSynchronizeWithInterruptEx 釋放系統微調鎖定,並在傳回控制權之前還原其呼叫端的原始 IRQL。
如需取得和釋放 NDIS 微調鎖定的詳細資訊,請參閱網路驅動程式中的 同步處理和通知。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
目標平臺 | 普遍 |
標頭 | ndis.h (包括 Ndis.h, Video.h) |
連結庫 | Ndis.lib |
IRQL | <= DIRQL |
DDI 合規性規則 | NdisMDeregisterInterruptEx(ndis) |