Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

po.h File Reference

Go to the source code of this file.

Classes

struct  PO_SET_STATE_FAILURE
struct  _PO_MEMORY_RANGE_ARRAY
struct  PO_MEMORY_IMAGE
struct  PO_IMAGE_LINK
struct  _PO_DEVICE_NOTIFY
struct  _PO_DEVICE_NOTIFY_ORDER

Defines

#define PoPowerTrace(TracePoint, DevObj, Arg1, Arg2)
#define POWERTRACE_CALL   0x1
#define POWERTRACE_PRESENT   0x2
#define POWERTRACE_STARTNEXT   0x4
#define POWERTRACE_SETSTATE   0x8
#define POWERTRACE_COMPLETE   0x10
#define PoRundownThread(Thread)   PopCleanupPowerState(&Thread->Tcb.PowerState)
#define PoRundownProcess(Process)   PopCleanupPowerState(&Process->Pcb.PowerState)
#define PO_MEM_PRESERVE   0x00000001
#define PO_MEM_CLONE   0x00000002
#define PO_MEM_CL_OR_NCHK   0x00000004
#define PO_MEM_DISCARD   0x00008000
#define PO_MEM_PAGE_ADDRESS   0x00004000
#define PoWakeTimerSupported()   (PopCapabilities.RtcWake >= PowerSystemSleeping1)
#define PoSetDeviceBusy(IdlePointer)   *IdlePointer = 0
#define PO_CB_SYSTEM_POWER_POLICY   0
#define PO_CB_AC_STATUS   1
#define PO_CB_BUTTON_COLLISION   2
#define PO_CB_SYSTEM_STATE_LOCK   3
#define PO_NOTIFY_D0   0x00000001
#define PO_NOTIFY_TRANSITIONING_FROM_D0   0x00000002
#define PO_NOTIFY_INVALID   0x80000000
#define PO_MAX_RANGE_ARRAY   (PAGE_SIZE / sizeof(PO_MEMORY_RANGE_ARRAY))
#define PO_ENTRIES_PER_PAGE   (PO_MAX_RANGE_ARRAY-1)
#define PO_IMAGE_SIGNATURE   'rbih'
#define PO_IMAGE_SIGNATURE_WAKE   'ekaw'
#define PO_IMAGE_SIGNATURE_BREAK   'pkrb'
#define PO_IMAGE_SIGNATURE_LINK   'knil'
#define PO_IMAGE_HEADER_PAGE   0
#define PO_FREE_MAP_PAGE   1
#define PO_PROCESSOR_CONTEXT_PAGE   2
#define PO_FIRST_RANGE_TABLE_PAGE   3
#define PO_COMPRESS_CHUNK_SIZE   4096
#define PO_HIBER_APM_RECONNECT   1
#define PO_ORDER_NOT_VIDEO   0x0001
#define PO_ORDER_ROOT_ENUM   0x0002
#define PO_ORDER_PAGABLE   0x0004
#define PO_ORDER_MAXIMUM   0x0007
#define PO_ORDER_GDI_NOTIFICATION   (PO_ORDER_PAGABLE)

Typedefs

typedef VOID(* PREQUEST_POWER_COMPLETE )(IN PDEVICE_OBJECT DeviceObject, IN UCHAR MinorFunction, IN POWER_STATE PowerState, IN PVOID Context, IN PIO_STATUS_BLOCK IoStatus)
typedef VOID(* PPO_NOTIFY )(IN PDEVICE_OBJECT DeviceObject, IN PVOID Context, IN ULONG Type, IN ULONG Reserved)
typedef * PPO_SET_STATE_FAILURE
typedef _PO_MEMORY_RANGE_ARRAY PO_MEMORY_RANGE_ARRAY
typedef _PO_MEMORY_RANGE_ARRAYPPO_MEMORY_RANGE_ARRAY
typedef * PPO_MEMORY_IMAGE
typedef * PPO_IMAGE_LINK
typedef _PO_DEVICE_NOTIFY PO_DEVICE_NOTIFY
typedef _PO_DEVICE_NOTIFYPPO_DEVICE_NOTIFY
typedef _PO_DEVICE_NOTIFY_ORDER PO_DEVICE_NOTIFY_ORDER
typedef _PO_DEVICE_NOTIFY_ORDERPPO_DEVICE_NOTIFY_ORDER

Functions

VOID FASTCALL PoInitializePrcb (PKPRCB Prcb)
NTKERNELAPI BOOLEAN PoInitSystem (IN ULONG Phase)
VOID PoInitDriverServices (IN ULONG Phase)
VOID PoInitHiberServices (IN BOOLEAN Setup)
NTKERNELAPI VOID PoInitializeDeviceObject (IN PDEVOBJ_EXTENSION DeviceObjectExtension)
NTKERNELAPI VOID PoRunDownDeviceObject (IN PDEVICE_OBJECT DeviceObject)
NTKERNELAPI VOID PopCleanupPowerState (IN OUT PUCHAR PowerState)
VOID PoNotifySystemTimeSet (VOID)
VOID PoInvalidateDevicePowerRelations (PDEVICE_OBJECT DeviceObject)
VOID PoShutdownBugCheck (IN BOOLEAN AllowCrashDump, IN ULONG BugCheckCode, IN ULONG_PTR BugCheckParameter1, IN ULONG_PTR BugCheckParameter2, IN ULONG_PTR BugCheckParameter3, IN ULONG_PTR BugCheckParameter4)
NTKERNELAPI VOID PoSetHiberRange (IN PVOID MemoryMap, IN ULONG Flags, IN PVOID Address, IN ULONG_PTR Length, IN ULONG Tag)
ULONG PoSimpleCheck (IN ULONG PatialSum, IN PVOID StartVa, IN ULONG_PTR Length)
BOOLEAN PoSystemIdleWorker (IN BOOLEAN IdleWorker)
VOID PoVolumeDevice (IN PDEVICE_OBJECT DeviceObject)
VOID PoSetWarmEjectDevice (IN PDEVICE_OBJECT DeviceObject)
NTSTATUS PoGetLightestSystemStateForEject (IN BOOLEAN DockBeingEjected, IN BOOLEAN HotEjectSupported, IN BOOLEAN WarmEjectSupported, OUT PSYSTEM_POWER_STATE LightestSleepState)
NTKERNELAPI VOID PoSetSystemState (IN EXECUTION_STATE Flags)
NTKERNELAPI PVOID PoRegisterSystemState (IN PVOID StateHandle, IN EXECUTION_STATE Flags)
NTKERNELAPI NTSTATUS PoRequestPowerIrp (IN PDEVICE_OBJECT DeviceObject, IN UCHAR MinorFunction, IN POWER_STATE PowerState, IN PREQUEST_POWER_COMPLETE CompletionFunction, IN PVOID Context, OUT PIRP *Irp OPTIONAL)
NTKERNELAPI VOID PoUnregisterSystemState (IN PVOID StateHandle)
NTKERNELAPI POWER_STATE PoSetPowerState (IN PDEVICE_OBJECT DeviceObject, IN POWER_STATE_TYPE Type, IN POWER_STATE State)
NTKERNELAPI NTSTATUS PoCallDriver (IN PDEVICE_OBJECT DeviceObject, IN OUT PIRP Irp)
NTKERNELAPI VOID PoStartNextPowerIrp (IN PIRP Irp)
NTKERNELAPI PULONG PoRegisterDeviceForIdleDetection (IN PDEVICE_OBJECT DeviceObject, IN ULONG ConservationIdleTime, IN ULONG PerformanceIdleTime, IN DEVICE_POWER_STATE State)
NTKERNELAPI NTSTATUS PoRegisterDeviceNotify (IN PDEVICE_OBJECT DeviceObject, IN PPO_NOTIFY NotificationFunction, IN PVOID NotificationContext, IN ULONG NotificationType, OUT PDEVICE_POWER_STATE DeviceState, OUT PVOID *NotificationHandle)
NTKERNELAPI NTSTATUS PoCancelDeviceNotify (IN PVOID NotificationHandle)

Variables

KAFFINITY PoSleepingSummary
BOOLEAN PoEnabled
ULONG PoPowerSequence
BOOLEAN PoPageLockData
KTIMER PoSystemIdleTimer
BOOLEAN PoHiberInProgress
SYSTEM_POWER_CAPABILITIES PopCapabilities


Define Documentation

#define PO_CB_AC_STATUS   1
 

Definition at line 265 of file po.h.

#define PO_CB_BUTTON_COLLISION   2
 

Definition at line 266 of file po.h.

#define PO_CB_SYSTEM_POWER_POLICY   0
 

Definition at line 264 of file po.h.

#define PO_CB_SYSTEM_STATE_LOCK   3
 

Definition at line 267 of file po.h.

#define PO_COMPRESS_CHUNK_SIZE   4096
 

Definition at line 381 of file po.h.

#define PO_ENTRIES_PER_PAGE   (PO_MAX_RANGE_ARRAY-1)
 

Definition at line 369 of file po.h.

#define PO_FIRST_RANGE_TABLE_PAGE   3
 

Definition at line 379 of file po.h.

#define PO_FREE_MAP_PAGE   1
 

Definition at line 377 of file po.h.

#define PO_HIBER_APM_RECONNECT   1
 

Definition at line 386 of file po.h.

#define PO_IMAGE_HEADER_PAGE   0
 

Definition at line 376 of file po.h.

#define PO_IMAGE_SIGNATURE   'rbih'
 

Definition at line 372 of file po.h.

#define PO_IMAGE_SIGNATURE_BREAK   'pkrb'
 

Definition at line 374 of file po.h.

#define PO_IMAGE_SIGNATURE_LINK   'knil'
 

Definition at line 375 of file po.h.

#define PO_IMAGE_SIGNATURE_WAKE   'ekaw'
 

Definition at line 373 of file po.h.

#define PO_MAX_RANGE_ARRAY   (PAGE_SIZE / sizeof(PO_MEMORY_RANGE_ARRAY))
 

Definition at line 368 of file po.h.

#define PO_MEM_CL_OR_NCHK   0x00000004
 

Definition at line 142 of file po.h.

Referenced by IoGetDumpHiberRanges().

#define PO_MEM_CLONE   0x00000002
 

Definition at line 141 of file po.h.

Referenced by MmHibernateInformation().

#define PO_MEM_DISCARD   0x00008000
 

Definition at line 143 of file po.h.

#define PO_MEM_PAGE_ADDRESS   0x00004000
 

Definition at line 144 of file po.h.

#define PO_MEM_PRESERVE   0x00000001
 

Definition at line 140 of file po.h.

#define PO_NOTIFY_D0   0x00000001
 

Definition at line 285 of file po.h.

#define PO_NOTIFY_INVALID   0x80000000
 

Definition at line 287 of file po.h.

#define PO_NOTIFY_TRANSITIONING_FROM_D0   0x00000002
 

Definition at line 286 of file po.h.

#define PO_ORDER_GDI_NOTIFICATION   (PO_ORDER_PAGABLE)
 

Definition at line 446 of file po.h.

#define PO_ORDER_MAXIMUM   0x0007
 

Definition at line 443 of file po.h.

Referenced by IoBuildPoDeviceNotifyList().

#define PO_ORDER_NOT_VIDEO   0x0001
 

Definition at line 440 of file po.h.

Referenced by IoBuildPoDeviceNotifyList().

#define PO_ORDER_PAGABLE   0x0004
 

Definition at line 442 of file po.h.

Referenced by IoBuildPoDeviceNotifyList().

#define PO_ORDER_ROOT_ENUM   0x0002
 

Definition at line 441 of file po.h.

Referenced by IoBuildPoDeviceNotifyList().

#define PO_PROCESSOR_CONTEXT_PAGE   2
 

Definition at line 378 of file po.h.

#define PoPowerTrace TracePoint,
DevObj,
Arg1,
Arg2   ) 
 

Definition at line 51 of file po.h.

#define PoRundownProcess Process   )     PopCleanupPowerState(&Process->Pcb.PowerState)
 

Definition at line 104 of file po.h.

Referenced by PspExitProcess().

#define PoRundownThread Thread   )     PopCleanupPowerState(&Thread->Tcb.PowerState)
 

Definition at line 101 of file po.h.

Referenced by PspExitThread().

#define PoSetDeviceBusy IdlePointer   )     *IdlePointer = 0
 

Definition at line 257 of file po.h.

 
#define PoWakeTimerSupported  )     (PopCapabilities.RtcWake >= PowerSystemSleeping1)
 

Definition at line 148 of file po.h.

Referenced by NtSetTimer().

#define POWERTRACE_CALL   0x1
 

Definition at line 54 of file po.h.

#define POWERTRACE_COMPLETE   0x10
 

Definition at line 58 of file po.h.

#define POWERTRACE_PRESENT   0x2
 

Definition at line 55 of file po.h.

#define POWERTRACE_SETSTATE   0x8
 

Definition at line 57 of file po.h.

#define POWERTRACE_STARTNEXT   0x4
 

Definition at line 56 of file po.h.


Typedef Documentation

typedef struct _PO_DEVICE_NOTIFY PO_DEVICE_NOTIFY
 

Referenced by IoBuildPoDeviceNotifyList().

typedef struct _PO_DEVICE_NOTIFY_ORDER PO_DEVICE_NOTIFY_ORDER
 

Referenced by IoFreePoDeviceNotifyList().

typedef struct _PO_MEMORY_RANGE_ARRAY PO_MEMORY_RANGE_ARRAY
 

typedef struct _PO_DEVICE_NOTIFY * PPO_DEVICE_NOTIFY
 

Referenced by IoBuildPoDeviceNotifyList().

typedef struct _PO_DEVICE_NOTIFY_ORDER * PPO_DEVICE_NOTIFY_ORDER
 

Referenced by IoBuildPoDeviceNotifyList().

typedef * PPO_IMAGE_LINK
 

typedef * PPO_MEMORY_IMAGE
 

typedef struct _PO_MEMORY_RANGE_ARRAY * PPO_MEMORY_RANGE_ARRAY
 

typedef VOID(* PPO_NOTIFY)(IN PDEVICE_OBJECT DeviceObject, IN PVOID Context, IN ULONG Type, IN ULONG Reserved)
 

Definition at line 278 of file po.h.

typedef * PPO_SET_STATE_FAILURE
 

typedef VOID(* PREQUEST_POWER_COMPLETE)(IN PDEVICE_OBJECT DeviceObject, IN UCHAR MinorFunction, IN POWER_STATE PowerState, IN PVOID Context, IN PIO_STATUS_BLOCK IoStatus)
 

Definition at line 198 of file po.h.


Function Documentation

NTKERNELAPI NTSTATUS PoCallDriver IN PDEVICE_OBJECT  DeviceObject,
IN OUT PIRP  Irp
 

NTKERNELAPI NTSTATUS PoCancelDeviceNotify IN PVOID  NotificationHandle  ) 
 

NTSTATUS PoGetLightestSystemStateForEject IN BOOLEAN  DockBeingEjected,
IN BOOLEAN  HotEjectSupported,
IN BOOLEAN  WarmEjectSupported,
OUT PSYSTEM_POWER_STATE  LightestSleepState
 

VOID PoInitDriverServices IN ULONG  Phase  ) 
 

Referenced by IoInitSystem().

VOID PoInitHiberServices IN BOOLEAN  Setup  ) 
 

Referenced by NtInitializeRegistry().

NTKERNELAPI VOID PoInitializeDeviceObject IN PDEVOBJ_EXTENSION  DeviceObjectExtension  ) 
 

Referenced by IoCreateDevice().

VOID FASTCALL PoInitializePrcb PKPRCB  Prcb  ) 
 

Referenced by KiInitializeKernel().

NTKERNELAPI BOOLEAN PoInitSystem IN ULONG  Phase  ) 
 

VOID PoInvalidateDevicePowerRelations PDEVICE_OBJECT  DeviceObject  ) 
 

Referenced by IoInvalidateDeviceRelations(), and IoSynchronousInvalidateDeviceRelations().

VOID PoNotifySystemTimeSet VOID   ) 
 

Referenced by KeSetSystemTime().

NTKERNELAPI VOID PopCleanupPowerState IN OUT PUCHAR  PowerState  ) 
 

NTKERNELAPI PULONG PoRegisterDeviceForIdleDetection IN PDEVICE_OBJECT  DeviceObject,
IN ULONG  ConservationIdleTime,
IN ULONG  PerformanceIdleTime,
IN DEVICE_POWER_STATE  State
 

NTKERNELAPI NTSTATUS PoRegisterDeviceNotify IN PDEVICE_OBJECT  DeviceObject,
IN PPO_NOTIFY  NotificationFunction,
IN PVOID  NotificationContext,
IN ULONG  NotificationType,
OUT PDEVICE_POWER_STATE  DeviceState,
OUT PVOID *  NotificationHandle
 

NTKERNELAPI PVOID PoRegisterSystemState IN PVOID  StateHandle,
IN EXECUTION_STATE  Flags
 

NTKERNELAPI NTSTATUS PoRequestPowerIrp IN PDEVICE_OBJECT  DeviceObject,
IN UCHAR  MinorFunction,
IN POWER_STATE  PowerState,
IN PREQUEST_POWER_COMPLETE  CompletionFunction,
IN PVOID  Context,
OUT PIRP *Irp  OPTIONAL
 

NTKERNELAPI VOID PoRunDownDeviceObject IN PDEVICE_OBJECT  DeviceObject  ) 
 

Referenced by IoDeleteDevice().

NTKERNELAPI VOID PoSetHiberRange IN PVOID  MemoryMap,
IN ULONG  Flags,
IN PVOID  Address,
IN ULONG_PTR  Length,
IN ULONG  Tag
 

Referenced by IoGetDumpHiberRanges(), and MmHibernateInformation().

NTKERNELAPI POWER_STATE PoSetPowerState IN PDEVICE_OBJECT  DeviceObject,
IN POWER_STATE_TYPE  Type,
IN POWER_STATE  State
 

NTKERNELAPI VOID PoSetSystemState IN EXECUTION_STATE  Flags  ) 
 

VOID PoSetWarmEjectDevice IN PDEVICE_OBJECT  DeviceObject  ) 
 

VOID PoShutdownBugCheck IN BOOLEAN  AllowCrashDump,
IN ULONG  BugCheckCode,
IN ULONG_PTR  BugCheckParameter1,
IN ULONG_PTR  BugCheckParameter2,
IN ULONG_PTR  BugCheckParameter3,
IN ULONG_PTR  BugCheckParameter4
 

Referenced by ExpSystemErrorHandler().

ULONG PoSimpleCheck IN ULONG  PatialSum,
IN PVOID  StartVa,
IN ULONG_PTR  Length
 

Referenced by IopGetDumpControlBlockCheck().

NTKERNELAPI VOID PoStartNextPowerIrp IN PIRP  Irp  ) 
 

Referenced by IopInvalidDeviceRequest(), and IopPowerDispatch().

BOOLEAN PoSystemIdleWorker IN BOOLEAN  IdleWorker  ) 
 

Referenced by MmZeroPageThread().

NTKERNELAPI VOID PoUnregisterSystemState IN PVOID  StateHandle  ) 
 

VOID PoVolumeDevice IN PDEVICE_OBJECT  DeviceObject  ) 
 

Referenced by IoCreateDevice(), and IoVerifyVolume().


Variable Documentation

BOOLEAN PoEnabled
 

Definition at line 460 of file po.h.

BOOLEAN PoHiberInProgress
 

Definition at line 464 of file po.h.

Referenced by KdEnableDebugger(), and KdExitDebugger().

BOOLEAN PoPageLockData
 

Definition at line 462 of file po.h.

SYSTEM_POWER_CAPABILITIES PopCapabilities
 

Definition at line 467 of file po.h.

ULONG PoPowerSequence
 

Definition at line 461 of file po.h.

Referenced by IopPowerDispatch().

KAFFINITY PoSleepingSummary
 

Definition at line 459 of file po.h.

Referenced by KiReadyThread().

KTIMER PoSystemIdleTimer
 

Definition at line 463 of file po.h.

Referenced by MmZeroPageThread().


Generated on Sat May 15 19:45:16 2004 for test by doxygen 1.3.7