git://git.iain.cx/iain
/
nssm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
17868b5
)
Import RegisterPowerSettingNotification().
author
Iain Patterson
<me@iain.cx>
Wed, 7 May 2014 07:33:56 +0000
(08:33 +0100)
committer
Iain Patterson
<me@iain.cx>
Wed, 10 Sep 2014 22:03:27 +0000
(23:03 +0100)
imports.cpp
patch
|
blob
|
history
imports.h
patch
|
blob
|
history
diff --git
a/imports.cpp
b/imports.cpp
index
6257131
..
064ba27
100644
(file)
--- a/
imports.cpp
+++ b/
imports.cpp
@@
-82,6
+82,15
@@
int get_imports() {
}
else if (error != ERROR_MOD_NOT_FOUND) return 5;
}
else if (error != ERROR_MOD_NOT_FOUND) return 5;
+ imports.user32 = get_dll(_T("user32.dll"), &error);
+ if (imports.user32) {
+ imports.RegisterPowerSettingNotification = (RegisterPowerSettingNotification_ptr) get_import(imports.user32, "RegisterPowerSettingNotification", &error);
+ if (! imports.RegisterPowerSettingNotification) {
+ if (error != ERROR_PROC_NOT_FOUND) return 9;
+ }
+ }
+ else if (error != ERROR_MOD_NOT_FOUND) return 8;
+
return 0;
}
return 0;
}
diff --git
a/imports.h
b/imports.h
index
03e2df1
..
249eb05
100644
(file)
--- a/
imports.h
+++ b/
imports.h
@@
-6,15
+6,18
@@
typedef BOOL (WINAPI *SleepConditionVariableCS_ptr)(PCONDITION_VARIABLE, PCRITIC
typedef void (WINAPI *WakeConditionVariable_ptr)(PCONDITION_VARIABLE);
typedef BOOL (WINAPI *CreateWellKnownSid_ptr)(WELL_KNOWN_SID_TYPE, SID *, SID *, unsigned long *);
typedef BOOL (WINAPI *IsWellKnownSid_ptr)(SID *, WELL_KNOWN_SID_TYPE);
typedef void (WINAPI *WakeConditionVariable_ptr)(PCONDITION_VARIABLE);
typedef BOOL (WINAPI *CreateWellKnownSid_ptr)(WELL_KNOWN_SID_TYPE, SID *, SID *, unsigned long *);
typedef BOOL (WINAPI *IsWellKnownSid_ptr)(SID *, WELL_KNOWN_SID_TYPE);
+typedef HANDLE (WINAPI *RegisterPowerSettingNotification_ptr)(HANDLE, LPCGUID, DWORD);
typedef struct {
HMODULE kernel32;
HMODULE advapi32;
typedef struct {
HMODULE kernel32;
HMODULE advapi32;
+ HMODULE user32;
AttachConsole_ptr AttachConsole;
SleepConditionVariableCS_ptr SleepConditionVariableCS;
WakeConditionVariable_ptr WakeConditionVariable;
CreateWellKnownSid_ptr CreateWellKnownSid;
IsWellKnownSid_ptr IsWellKnownSid;
AttachConsole_ptr AttachConsole;
SleepConditionVariableCS_ptr SleepConditionVariableCS;
WakeConditionVariable_ptr WakeConditionVariable;
CreateWellKnownSid_ptr CreateWellKnownSid;
IsWellKnownSid_ptr IsWellKnownSid;
+ RegisterPowerSettingNotification_ptr RegisterPowerSettingNotification;
} imports_t;
HMODULE get_dll(const TCHAR *, unsigned long *);
} imports_t;
HMODULE get_dll(const TCHAR *, unsigned long *);