Use close_handle().
[nssm.git] / imports.h
1 #ifndef IMPORTS_H\r
2 #define IMPORTS_H\r
3 \r
4 /* Some functions don't have decorated versions. */\r
5 #ifdef UNICODE\r
6 #define QUERYFULLPROCESSIMAGENAME_EXPORT "QueryFullProcessImageNameW"\r
7 #else\r
8 #define QUERYFULLPROCESSIMAGENAME_EXPORT "QueryFullProcessImageNameA"\r
9 #endif\r
10 \r
11 typedef BOOL (WINAPI *AttachConsole_ptr)(DWORD);\r
12 typedef BOOL (WINAPI *SleepConditionVariableCS_ptr)(PCONDITION_VARIABLE, PCRITICAL_SECTION, DWORD);\r
13 typedef BOOL (WINAPI *QueryFullProcessImageName_ptr)(HANDLE, unsigned long, LPTSTR, unsigned long *);\r
14 typedef void (WINAPI *WakeConditionVariable_ptr)(PCONDITION_VARIABLE);\r
15 typedef BOOL (WINAPI *CreateWellKnownSid_ptr)(WELL_KNOWN_SID_TYPE, SID *, SID *, unsigned long *);\r
16 typedef BOOL (WINAPI *IsWellKnownSid_ptr)(SID *, WELL_KNOWN_SID_TYPE);\r
17 \r
18 typedef struct {\r
19   HMODULE kernel32;\r
20   HMODULE advapi32;\r
21   AttachConsole_ptr AttachConsole;\r
22   SleepConditionVariableCS_ptr SleepConditionVariableCS;\r
23   QueryFullProcessImageName_ptr QueryFullProcessImageName;\r
24   WakeConditionVariable_ptr WakeConditionVariable;\r
25   CreateWellKnownSid_ptr CreateWellKnownSid;\r
26   IsWellKnownSid_ptr IsWellKnownSid;\r
27 } imports_t;\r
28 \r
29 HMODULE get_dll(const TCHAR *, unsigned long *);\r
30 FARPROC get_import(HMODULE, const char *, unsigned long *);\r
31 int get_imports();\r
32 void free_imports();\r
33 \r
34 #endif\r