00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 #define HAL_APM_SIGNATURE   0x004D5041      // APM
00028 #define HAL_APM_VERSION     500             // 5.00
00029 
00030 #define HAL_APM_TABLE_SIZE  (sizeof(PM_DISPATCH_TABLE)+sizeof(PVOID))
00031 
00032 #define HAL_APM_SLEEP_VECTOR    0
00033 #define HAL_APM_OFF_VECTOR      1
00034 
00035 
00036 
00037 
00038 
00039 
00040 typedef struct _NTAPM_LINK {
00041     ULONG   
Signature;      
00042     ULONG   
Version;        
00043     ULONG   
BattLevelPtr;   
00044     ULONG   
ChangeNotify;   
00045 } 
NTAPM_LINK, *
PNTAPM_LINK;
00046 
00047 #define NTAPM_LINK_SIGNATURE    0x736d7061  // apms  = Argument1
00048 #define NTAPM_LINK_VERSION      500         // 5.00  = Argument2
00049 
00050 
00051 
00052 
00053 
00054 
00055 
00056 
00057 
00058 
00059 
00060 
00061 
00062 
00063 
00064 
00065 #define     NTAPM_ACON                  0x1000
00066 #define     NTAPM_NO_BATT               0x2000
00067 #define     NTAPM_NO_SYS_BATT           0x4000
00068 #define     NTAPM_BATTERY_STATE         0x0f00
00069 #define     NTAPM_BATTERY_STATE_SHIFT   8
00070 #define     NTAPM_POWER_PERCENT         0x00ff
00071 
00072 
00073 
00074 
00075 
00076 
00077 
00078 
00079 
00080 
00081 
00082 
00083