30
30
import com .sun .jna .Structure .FieldOrder ;
31
31
import com .sun .jna .Union ;
32
32
import com .sun .jna .platform .win32 .BaseTSD .ULONG_PTR ;
33
- import com .sun .jna .platform .win32 .WinDef .HKL ;
34
33
import com .sun .jna .platform .win32 .WinNT .HANDLE ;
35
34
import com .sun .jna .win32 .StdCallLibrary .StdCallCallback ;
36
35
import com .sun .jna .win32 .W32APITypeMapper ;
@@ -2088,4 +2087,46 @@ public String toString() {
2088
2087
* Bitmask for the RESERVED2 key modifier.
2089
2088
*/
2090
2089
int MODIFIER_RESERVED2_MASK = 32 ;
2090
+
2091
+ class HPOWERNOTIFY extends PVOID {
2092
+ public HPOWERNOTIFY () {
2093
+ }
2094
+
2095
+ public HPOWERNOTIFY (Pointer pointer ) {
2096
+ super (pointer );
2097
+ }
2098
+ }
2099
+
2100
+ HPOWERNOTIFY RegisterPowerSettingNotification (
2101
+ /*[in]*/ HANDLE hRecipient ,
2102
+ /*[in]*/ Guid .GUID PowerSettingGuid ,
2103
+ /*[in]*/ DWORD Flags );
2104
+
2105
+ BOOL UnregisterPowerSettingNotification (
2106
+ /*[in]*/ HPOWERNOTIFY Handle
2107
+ );
2108
+
2109
+ int WM_POWERBROADCAST = 0x0218 ;
2110
+ int PBT_APMSUSPEND = 0x0004 ;
2111
+ int PBT_APMRESUMEAUTOMATIC = 0x0012 ;
2112
+ int PBT_POWERSETTINGCHANGE = 0x8013 ;
2113
+
2114
+ @ FieldOrder ({"PowerSetting" , "DataLength" , "Data" })
2115
+ class POWERBROADCAST_SETTING extends Structure {
2116
+ public Guid .GUID PowerSetting ;
2117
+ public DWORD DataLength ;
2118
+ public UCHAR Data [] = new UCHAR [1 ];
2119
+
2120
+ public POWERBROADCAST_SETTING (Pointer p ) {
2121
+ super (p );
2122
+ read ();
2123
+ }
2124
+
2125
+ @ Override
2126
+ public final void read () {
2127
+ int size = (int ) getPointer ().getLong (fieldOffset ("DataLength" ));
2128
+ Data = new UCHAR [size ];
2129
+ super .read ();
2130
+ }
2131
+ }
2091
2132
}
0 commit comments