NdisMSynchronizeWithInterruptEx 函式 (ndis.h)
迷你埠驅動程式會呼叫 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 決定內容區域的指標。
傳回值
NdisMSynchronizeWithInterruptEx 會傳回 MiniportSynchronizeInterrupt 傳回的布爾值。
備註
向 NdisMRegisterInterruptEx 註冊中斷的迷你埠驅動程式會使用 NdisMSynchronizeWithInterruptEx。 的值 MiniportSynchronizeInterrupt 函式傳回也會由 NdisMSynchronizeWithInterruptEx 傳回。 這個傳播的值會將狀態提供給呼叫端。
與在 DIRQL 上執行的任何其他驅動程式函式共用資源的任何迷你埠驅動程式函式,都必須使用 NdisMSynchronizeWithInterruptEx 來同步處理對這些資源的存取。 MiniportSynchronizeInterrupt 函式也會在 DIRQL 上執行,而且共用資源會受到系統配置的微調鎖定保護。 因此,共用資源會受到 MiniportInterrupt 函式和呼叫端同時存取的保護。
NdisMSynchronizeWithInterruptEx 會釋放系統微調鎖定,並在傳回控件之前還原其呼叫端的原始 IRQL。
如需取得和釋放 NDIS 微調鎖定的詳細資訊,請參閱 網路驅動程式中的同步處理和通知。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
目標平台 | Universal |
標頭 | ndis.h (包括 Ndis.h、Video.h) |
程式庫 | Ndis.lib |
IRQL | <= DIRQL |
DDI 合規性規則 | NdisMDeregisterInterruptEx (ndis) |