process_monitor.h 993 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef __PROCESS_MONITOR_H__
  2. #define __PROCESS_MONITOR_H__
  3. #pragma once
  4. #include "config.h"
  5. #include <winpr/wtypes.h>
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9. typedef struct process_monitor_t process_monitor_t;
  10. // true for remove handle
  11. typedef int (*process_monitor_on_detect_process_end)(process_monitor_t *monitor, HANDLE hproc, void *user_data);
  12. TOOLKIT_API int process_monitor_create(process_monitor_t **p_monitor);
  13. TOOLKIT_API int process_monitor_destroy(process_monitor_t *monitor);
  14. TOOLKIT_API int process_monitor_set_cb(process_monitor_t *monitor, process_monitor_on_detect_process_end cb, void *user_data);
  15. TOOLKIT_API int process_monitor_start(process_monitor_t *monitor);
  16. TOOLKIT_API int process_monitor_stop(process_monitor_t *monitor);
  17. TOOLKIT_API int process_monitor_add(process_monitor_t *monitor, HANDLE hproc);
  18. TOOLKIT_API int process_monitor_remove(process_monitor_t *monitor, HANDLE hproc);
  19. #ifdef __cplusplus
  20. } // extern "C" {
  21. #endif
  22. #endif //__PROCESS_MONITOR_H__