共用方式為


PFNKSDEVICEQUERYPOWER 回調函式 (ks.h)

AVStream 會在收到 IRP_MN_QUERY_POWER 要求時呼叫 minidriver 的 AVStrMiniDeviceQueryPower 例程。

語法

PFNKSDEVICEQUERYPOWER Pfnksdevicequerypower;

NTSTATUS Pfnksdevicequerypower(
  [in] PKSDEVICE Device,
  [in] PIRP Irp,
  [in] DEVICE_POWER_STATE DeviceTo,
  [in] DEVICE_POWER_STATE DeviceFrom,
  [in] SYSTEM_POWER_STATE SystemTo,
  [in] SYSTEM_POWER_STATE SystemFrom,
  [in] POWER_ACTION Action
)
{...}

參數

[in] Device

分派 IRP_MN_QUERY_POWERKSDEVICE 結構的指標。

[in] Irp

Device所發出的 IRP_MN_QUERY_POWER 指標。

[in] DeviceTo

Irp簽發者所要求的電源狀態。

[in] DeviceFrom

目前的裝置電源狀態。

[in] SystemTo

要轉換至的系統狀態,在查詢系統電源狀態轉換時指定。 如果呼叫是因為裝置電源狀態變更查詢所造成,則不會指定此值。

[in] SystemFrom

目前系統狀態,在查詢系統電源狀態轉換時指定。 如果呼叫是因為裝置電源狀態變更查詢所造成,則不會指定此值。

[in] Action

指定要求轉換的其他資訊。 可能的值為POWER_ACTION類型的列舉值。

傳回值

應該傳回STATUS_SUCCESS或嘗試執行作業時傳回的錯誤碼。 藉由傳回STATUS_SUCCESS,驅動程式會保證它不會啟動任何作業,而無法變更其設定要求電源狀態的能力。 驅動程式應該將需要這類作業的任何 IRP 排入佇列,直到它完成 IRP_MN_SET_POWER,以將裝置傳回可接受的電源狀態。

言論

電源管理員或裝置電源原則擁有者會傳送 IRP_MN_QUERY_POWER 要求,以判斷它可以變更系統或裝置電源狀態(例如,移至睡眠)。

如果驅動程式在系統電源狀態IRP_MN_QUERY_POWER要求失敗,電源管理員通常會發出 IRP_MN_SET_POWER來回應。 通常,此 IRP 會重申目前的系統狀態。 不過,驅動程式可能會收到查詢狀態或某些其他中繼狀態的IRP_MN_SET_POWER。 驅動程式應該準備好處理這些情況。

minidriver 會在其 KSDEVICE_DISPATCH 結構的 QueryPower 成員中指定此例程的位址。

此例程是選擇性的。

要求

要求 價值
最低支援的用戶端 Microsoft Windows XP 和更新版本的作系統和 DirectX 8.0 和更新版本的 DirectX 版本中提供。
目標平臺 桌面
標頭 ks.h (包括 Ks.h)

另請參閱

IRP_MN_QUERY_POWER

KSDEVICE_DISPATCH