PO_FX_DEVICE_POWER_REQUIRED_CALLBACK回呼函式 (wdm.h)

DevicePowerRequiredCallback 回呼例程會通知設備驅動器裝置必須進入並維持在 D0 電源狀態。

語法

PO_FX_DEVICE_POWER_REQUIRED_CALLBACK PoFxDevicePowerRequiredCallback;

void PoFxDevicePowerRequiredCallback(
  [in] PVOID Context
)
{...}

參數

[in] Context

裝置內容的指標。 設備驅動器會使用此內容來儲存裝置目前電源狀態的相關信息。 設備驅動器會在PO_FX_DEVICE結構的 DeviceContext 成員中指定此指標,驅動程式用來向電源管理架構註冊裝置, (PoFx) 。 此內容對 PoFx 而言不透明。

傳回值

備註

在 PoFx 呼叫驅動程式的 DevicePowerRequiredCallback 例程之後,如果裝置尚未處於 D0 狀態,則驅動程式必須傳送 D0 IRP (IRP_MN_SET_POWER裝置 堆疊) ) 要求,以起始 D0 狀態的轉換。 驅動程式完成 (且所有較低驅動程式完成此要求的) 處理之後,驅動程式必須呼叫 PoFxReportDevicePoweredOn 例程。 PoFxReportDevicePoweredOn 呼叫會通知 PoFx 裝置已完成對 DevicePowerRequiredCallback 呼叫的回應。 驅動程式可以在 DevicePowerRequiredCallback 呼叫期間或之後呼叫 PoFxReportDevicePoweredOn

每次呼叫 DevicePowerRequiredCallback 例程時,驅動程式都必須呼叫 PoFxReportDevicePoweredOn 來回應。 PoFxReportDevicePoweredOn 呼叫可以在 DevicePowerRequiredCallback 呼叫期間或之後發生。 驅動程式必須呼叫 PoFxReportDevicePoweredOn ,不論是否需要 D0 IRP、D0 IRP 要求失敗,或分派的 D0 IRP 成功或失敗。

只有在 PoFx 先前呼叫驅動程式的 DevicePowerNotRequiredCallback 例程時,PoFx 才會呼叫 DevicePowerRequiredCallback 例程,以通知驅動程式不需要裝置保持 D0 狀態。

驅動程式呼叫 PoFxCompleteDevicePowerNotRequired 完成DevicePowerNotRequiredCallback 回呼之後,隨時都會呼叫 DevicePowerRequiredCallback 例程。 DevicePowerRequiredCallback 呼叫不一定因為驅動程式所採取的動作而發生,例如要求元件變更為作用中條件。

範例

若要定義 DevicePowerRequiredCallback 回 呼例程,您必須先提供函式宣告來識別您要定義的回呼例程類型。 Windows 提供一組驅動程式的回呼函式類型。 使用回呼函式類型宣告函式有助於 驅動程式的程式代碼分析靜態驅動程式驗證器 (SDV) ,以及其他驗證工具尋找錯誤,而且這是撰寫 Windows 操作系統驅動程式的需求。

例如,若要定義名為MyDevicePowerRequiredCallbackDevicePowerRequiredCallback 回呼例程,請使用PO_FX_DEVICE_POWER_REQUIRED_CALLBACK類型,如下列程式代碼範例所示:

PO_FX_DEVICE_POWER_REQUIRED_CALLBACK MyDevicePowerRequiredCallback;

然後,實作回呼例程,如下所示:

_Use_decl_annotations_
VOID
  MyDevicePowerRequiredCallback(
    PVOID Context
    )
  {
      // Function body
  }

PO_FX_DEVICE_POWER_REQUIRED_CALLBACK函式類型定義於 Wdm.h 頭檔中。 若要在執行程式代碼分析工具時更精確地識別錯誤,請務必將 _Use_decl_annotations_ 批註新增至函式定義。 註釋 _Use_decl_annotations_ 可確保會使用頭檔中套用至PO_FX_DEVICE_POWER_REQUIRED_CALLBACK函式類型的批註。 如需函數宣告需求的詳細資訊,請參閱 使用WDM驅動程式的函式角色類型來宣告函式。 如需 的相關信息 _Use_decl_annotations_,請參閱 標註函式行為

規格需求

需求
最低支援的用戶端 從 Windows 8 開始支援。
目標平台 桌面
標頭 wdm.h (包含 Wudfwdm.h)
IRQL 在 IRQL <= DISPATCH_LEVEL呼叫。

另請參閱

DevicePowerNotRequiredCallback

PO_FX_DEVICE

PoFxCompleteDevicePowerNotRequired

PoFxRegisterDevice

PoFxReportDevicePoweredOn