共用方式為


WdfInterruptReportInactive 函式 (wdfinterrupt.h)

[僅適用於 KMDF]

WdfInterruptReportInactive 方法會通知系統中斷不再作用中,而且驅動程式不預期在相關聯的行上中斷要求。

語法

void WdfInterruptReportInactive(
  [in] WDFINTERRUPT Interrupt
);

參數

[in] Interrupt

架構中斷物件的句柄。

傳回值

備註

只有實作功能狀態電源管理的驅動程式會呼叫 WdfInterruptReportInactive

當驅動程式呼叫 WdfInterruptReportInactive 時,電源管理架構 (PoFx) 接著可以執行相關的電源管理工作。

一般而言,當 State 大於零 (時,驅動程式會從其 ComponentIdleConditionCallback 例程呼叫 WdfInterruptReportInactive,或從 ComponentIdleStateCallback 呼叫 WdfInterruptReportInactive,指出低電源 Fx 狀態) 。

如果您的驅動程式在早於 Windows 8 的作業系統上呼叫此方法,架構的驗證程式會回報錯誤。

範例

下列範例示範驅動程式如何從 KMDF 驅動程式的 ComponentIdleStateCallback 例程呼叫 WdfInterruptReportInactive。 驅動程式會呼叫 WdfDeviceWdmAssignPowerFrameworkSettings 來註冊單一元件。

VOID
MyComponentIdleStateCallback(
    _In_ PVOID Context,
    _In_ ULONG Component,
    _In_ ULONG State
    )
{
    PFDO_DEVICE_DATA deviceData;
    PFDO_INTERRUPT_CONTEXT interruptContext;

    deviceData = FdoGetData((WDFDEVICE)Context);
    interruptContext = InterruptGetData(deviceData->Interrupt);

    switch (State) {
        case 0:
             …
            break;

        //
        // PoFx may make us go to any of the F-states directly, hence we execute
        // F0Exit code for all of the Fx states. Note that transition to any Fx 
        // state happens from F0 (and not another Fx state).
        //
        default:
            //
            // Disable interrupt generation at hardware if needed.
            // 
            WdfInterruptAcquireLock(deviceData->Interrupt);
            DisableInterruptInHardware();
            WdfInterruptReleaseLock(deviceData->Interrupt);

            //
            // Report that interrupt is now inactive.
            //
            WdfInterruptReportInactive(deviceData->Interrupt);

            interruptContext->ReportedInactive = TRUE;

        break;

    …

}

規格需求

需求
最低支援的用戶端 Windows 8
目標平台 Universal
最低 KMDF 版本 1.11
標頭 wdfinterrupt.h (包含 Wdf.h)
程式庫 Wdf01000.sys (請參閱 Framework Library Versioning.)
IRQL <=DISPATCH_LEVEL
DDI 合規性規則 DriverCreate (kmdf)

另請參閱

WdfInterruptReportActive