process_monitor.h 966 B

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