RegisterPowerSettingNotification is unnecessary.
[nssm.git] / process.h
1 #ifndef PROCESS_H
2 #define PROCESS_H
3
4 #include <tlhelp32.h>
5
6 typedef struct {
7   TCHAR *name;
8   HANDLE process_handle;
9   unsigned long pid;
10   unsigned long exitcode;
11   unsigned long stop_method;
12   unsigned long kill_console_delay;
13   unsigned long kill_window_delay;
14   unsigned long kill_threads_delay;
15   SERVICE_STATUS_HANDLE status_handle;
16   SERVICE_STATUS *status;
17   FILETIME creation_time;
18   FILETIME exit_time;
19   int signalled;
20 } kill_t;
21
22 void service_kill_t(nssm_service_t *, kill_t *);
23 int get_process_creation_time(HANDLE, FILETIME *);
24 int get_process_exit_time(HANDLE, FILETIME *);
25 int check_parent(kill_t *, PROCESSENTRY32 *, unsigned long);
26 int CALLBACK kill_window(HWND, LPARAM);
27 int kill_threads(nssm_service_t *, kill_t *);
28 int kill_threads(kill_t *);
29 int kill_console(nssm_service_t *, kill_t *);
30 int kill_console(kill_t *);
31 int kill_process(nssm_service_t *, kill_t *);
32 int kill_process(kill_t *);
33 void kill_process_tree(nssm_service_t *, kill_t *, unsigned long);
34 void kill_process_tree(kill_t *, unsigned long);
35
36 #endif