共用方式為


設定電源管理的裝置物件旗標

在其 AddDevice 常式中,每個驅動程式都會建立裝置物件 (篩選裝置物件 (DO) 、功能裝置物件 (FDO) ,或實體裝置物件 (PDO) ) ,並在裝置物件中設定 DO_XXX 旗標,以描述裝置屬性和驅動程式設定。 下列裝置物件旗標與電源管理有關。

旗標 描述
DO_POWER_INRUSH 表示裝置第一次開啟時,裝置所繪製的目前會激增。 此激增或「內拉式」會持續一小段時間,之後裝置所繪製的目前會落到較低的作業等級。
DO_POWER_PAGABLE 表示驅動程式可分頁。 從 Windows 2000 開始,可分頁的驅動程式必須設定DO_POWER_PAGABLE旗標。 電源管理員會在 IRQL = PASSIVE_LEVEL呼叫這類驅動程式。 如需可分頁驅動程式的詳細資訊,請參閱 讓驅動程式可分頁

裝置物件旗標通常會由匯流排驅動程式在建立裝置的 PDO 時設定。 不過,某些函式驅動程式可能需要變更這些旗標的值作為 其 AddDevice 常式的一部分。 從 Windows Vista 開始,作業系統不需要裝置堆疊內的所有裝置物件都設定相同的電源相關旗標。 不過,在 Windows Server 2003、Windows XP 和 Windows 2000 中,裝置堆疊中的所有裝置物件都應該設定相同的電源相關旗標。

從 Windows 2000 開始,在分頁路徑中的裝置驅動程式不得設定DO_POWER_PAGABLE旗標。 如果驅動程式參與分頁檔案上的 I/O 作業,則驅動程式會位於「分頁路徑」中。 未設定此旗標的驅動程式必須在 IRQL = DISPATCH_LEVEL呼叫。 如需詳細資訊,請參閱 分派常式的條件約束

一般而言,驅動程式不應該改變DO_POWER_PAGABLE旗標的匯流排驅動程式值,如果較低層級的驅動程式已清除它,則驅動程式絕對不能設定此旗標。 處理涉及PnP 分頁要求的轉換時, (通常會回應IRP_MN_DEVICE_USAGE_NOTIFICATION要求) 的IRP_MJ_PNP,儲存體驅動程式必須仔細排序其設定和清除旗標。

啟動時需要電源啟動的裝置驅動程式必須先在裝置物件中設定DO_POWER_INRUSH旗標,才能清除DO_DEVICE_INITIALIZING旗標。 裝置堆疊中只有一個驅動程式,通常是匯流排驅動程式 (PDO) ,必須設定裝置的DO_POWER_INRUSH旗標。 旗標會通知電源管理員,這類裝置必須以其他這類裝置的順序一次啟動一個,以避免電源供應器超載。 電源管理員可確保在任何指定時間,系統中的任何位置只有一個電源內嵌 IRP 作用中。

從 Windows Vista 開始,驅動程式可以同時設定DO_POWER_PAGABLE旗標和DO_POWER_INRUSH旗標。 在 Windows Server 2003、Windows XP 和 Windows 2000 中,驅動程式無法同時設定 DO_POWER_PAGABLE 旗標和 DO_POWER_INRUSH 旗標。