X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=imports.h;h=5c79cb47ee6a9b2e8443ee799a685707666b5547;hb=d1c0d356f6ea58980a33f2fa2da1b6971dd9f909;hp=03e2df1d187aa7f562140c9c513a2af35efda7fe;hpb=2ee9dc2eacbcf9fa5005df1f36a88dadbbd68d7e;p=nssm.git diff --git a/imports.h b/imports.h index 03e2df1..5c79cb4 100644 --- a/imports.h +++ b/imports.h @@ -1,25 +1,34 @@ -#ifndef IMPORTS_H -#define IMPORTS_H - -typedef BOOL (WINAPI *AttachConsole_ptr)(DWORD); -typedef BOOL (WINAPI *SleepConditionVariableCS_ptr)(PCONDITION_VARIABLE, PCRITICAL_SECTION, DWORD); -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 struct { - HMODULE kernel32; - HMODULE advapi32; - AttachConsole_ptr AttachConsole; - SleepConditionVariableCS_ptr SleepConditionVariableCS; - WakeConditionVariable_ptr WakeConditionVariable; - CreateWellKnownSid_ptr CreateWellKnownSid; - IsWellKnownSid_ptr IsWellKnownSid; -} imports_t; - -HMODULE get_dll(const TCHAR *, unsigned long *); -FARPROC get_import(HMODULE, const char *, unsigned long *); -int get_imports(); -void free_imports(); - -#endif +#ifndef IMPORTS_H +#define IMPORTS_H + +/* Some functions don't have decorated versions. */ +#ifdef UNICODE +#define QUERYFULLPROCESSIMAGENAME_EXPORT "QueryFullProcessImageNameW" +#else +#define QUERYFULLPROCESSIMAGENAME_EXPORT "QueryFullProcessImageNameA" +#endif + +typedef BOOL (WINAPI *AttachConsole_ptr)(DWORD); +typedef BOOL (WINAPI *SleepConditionVariableCS_ptr)(PCONDITION_VARIABLE, PCRITICAL_SECTION, DWORD); +typedef BOOL (WINAPI *QueryFullProcessImageName_ptr)(HANDLE, unsigned long, LPTSTR, unsigned long *); +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 struct { + HMODULE kernel32; + HMODULE advapi32; + AttachConsole_ptr AttachConsole; + SleepConditionVariableCS_ptr SleepConditionVariableCS; + QueryFullProcessImageName_ptr QueryFullProcessImageName; + WakeConditionVariable_ptr WakeConditionVariable; + CreateWellKnownSid_ptr CreateWellKnownSid; + IsWellKnownSid_ptr IsWellKnownSid; +} imports_t; + +HMODULE get_dll(const TCHAR *, unsigned long *); +FARPROC get_import(HMODULE, const char *, unsigned long *); +int get_imports(); +void free_imports(); + +#endif