Process Hacker
kphapi.h File Reference

Go to the source code of this file.

Data Structures

struct  _KPH_PROCESS_PROTECTION_INFORMATION
 
struct  _KPH_PROCESS_HANDLE
 
struct  _KPH_PROCESS_HANDLE_INFORMATION
 
struct  _KPH_FILE_OBJECT_INFORMATION
 
struct  _KPH_FILE_OBJECT_DRIVER
 
struct  _DRIVER_BASIC_INFORMATION
 
struct  _DRIVER_NAME_INFORMATION
 
struct  _DRIVER_SERVICE_KEY_NAME_INFORMATION
 
struct  _ETWREG_BASIC_INFORMATION
 
struct  _KPH_DYN_STRUCT_DATA
 
struct  _KPH_DYN_PACKAGE
 
struct  _KPH_DYN_CONFIGURATION
 

Macros

#define KPH_DEVICE_SHORT_NAME   L"KProcessHacker2"
 
#define KPH_DEVICE_TYPE   0x9999
 
#define KPH_DEVICE_NAME   (L"\\Device\\" KPH_DEVICE_SHORT_NAME)
 
#define KPH_DYN_CONFIGURATION_VERSION   2
 
#define KPH_DYN_MAXIMUM_PACKAGES   64
 
#define KPH_CTL_CODE(x)   CTL_CODE(KPH_DEVICE_TYPE, 0x800 + x, METHOD_NEITHER, FILE_ANY_ACCESS)
 
#define KPH_GETFEATURES   KPH_CTL_CODE(0)
 
#define KPH_OPENPROCESS   KPH_CTL_CODE(50)
 
#define KPH_OPENPROCESSTOKEN   KPH_CTL_CODE(51)
 
#define KPH_OPENPROCESSJOB   KPH_CTL_CODE(52)
 
#define KPH_SUSPENDPROCESS   KPH_CTL_CODE(53)
 
#define KPH_RESUMEPROCESS   KPH_CTL_CODE(54)
 
#define KPH_TERMINATEPROCESS   KPH_CTL_CODE(55)
 
#define KPH_READVIRTUALMEMORY   KPH_CTL_CODE(56)
 
#define KPH_WRITEVIRTUALMEMORY   KPH_CTL_CODE(57)
 
#define KPH_READVIRTUALMEMORYUNSAFE   KPH_CTL_CODE(58)
 
#define KPH_QUERYINFORMATIONPROCESS   KPH_CTL_CODE(59)
 
#define KPH_SETINFORMATIONPROCESS   KPH_CTL_CODE(60)
 
#define KPH_OPENTHREAD   KPH_CTL_CODE(100)
 
#define KPH_OPENTHREADPROCESS   KPH_CTL_CODE(101)
 
#define KPH_TERMINATETHREAD   KPH_CTL_CODE(102)
 
#define KPH_TERMINATETHREADUNSAFE   KPH_CTL_CODE(103)
 
#define KPH_GETCONTEXTTHREAD   KPH_CTL_CODE(104)
 
#define KPH_SETCONTEXTTHREAD   KPH_CTL_CODE(105)
 
#define KPH_CAPTURESTACKBACKTRACETHREAD   KPH_CTL_CODE(106)
 
#define KPH_QUERYINFORMATIONTHREAD   KPH_CTL_CODE(107)
 
#define KPH_SETINFORMATIONTHREAD   KPH_CTL_CODE(108)
 
#define KPH_ENUMERATEPROCESSHANDLES   KPH_CTL_CODE(150)
 
#define KPH_QUERYINFORMATIONOBJECT   KPH_CTL_CODE(151)
 
#define KPH_SETINFORMATIONOBJECT   KPH_CTL_CODE(152)
 
#define KPH_DUPLICATEOBJECT   KPH_CTL_CODE(153)
 
#define KPH_OPENDRIVER   KPH_CTL_CODE(200)
 
#define KPH_QUERYINFORMATIONDRIVER   KPH_CTL_CODE(201)
 

Typedefs

typedef enum
_KPH_PROCESS_INFORMATION_CLASS 
KPH_PROCESS_INFORMATION_CLASS
 
typedef struct
_KPH_PROCESS_PROTECTION_INFORMATION 
KPH_PROCESS_PROTECTION_INFORMATION
 
typedef struct
_KPH_PROCESS_PROTECTION_INFORMATION
PKPH_PROCESS_PROTECTION_INFORMATION
 
typedef enum
_KPH_THREAD_INFORMATION_CLASS 
KPH_THREAD_INFORMATION_CLASS
 
typedef struct _KPH_PROCESS_HANDLE KPH_PROCESS_HANDLE
 
typedef struct
_KPH_PROCESS_HANDLE
PKPH_PROCESS_HANDLE
 
typedef struct
_KPH_PROCESS_HANDLE_INFORMATION 
KPH_PROCESS_HANDLE_INFORMATION
 
typedef struct
_KPH_PROCESS_HANDLE_INFORMATION
PKPH_PROCESS_HANDLE_INFORMATION
 
typedef enum
_KPH_OBJECT_INFORMATION_CLASS 
KPH_OBJECT_INFORMATION_CLASS
 
typedef struct
_KPH_FILE_OBJECT_INFORMATION 
KPH_FILE_OBJECT_INFORMATION
 
typedef struct
_KPH_FILE_OBJECT_INFORMATION
PKPH_FILE_OBJECT_INFORMATION
 
typedef struct
_KPH_FILE_OBJECT_DRIVER 
KPH_FILE_OBJECT_DRIVER
 
typedef struct
_KPH_FILE_OBJECT_DRIVER
PKPH_FILE_OBJECT_DRIVER
 
typedef enum
_DRIVER_INFORMATION_CLASS 
DRIVER_INFORMATION_CLASS
 
typedef struct
_DRIVER_BASIC_INFORMATION 
DRIVER_BASIC_INFORMATION
 
typedef struct
_DRIVER_BASIC_INFORMATION
PDRIVER_BASIC_INFORMATION
 
typedef struct
_DRIVER_NAME_INFORMATION 
DRIVER_NAME_INFORMATION
 
typedef struct
_DRIVER_NAME_INFORMATION
PDRIVER_NAME_INFORMATION
 
typedef struct
_DRIVER_SERVICE_KEY_NAME_INFORMATION 
DRIVER_SERVICE_KEY_NAME_INFORMATION
 
typedef struct
_DRIVER_SERVICE_KEY_NAME_INFORMATION
PDRIVER_SERVICE_KEY_NAME_INFORMATION
 
typedef struct
_ETWREG_BASIC_INFORMATION 
ETWREG_BASIC_INFORMATION
 
typedef struct
_ETWREG_BASIC_INFORMATION
PETWREG_BASIC_INFORMATION
 
typedef enum _KPH_SECURITY_LEVEL KPH_SECURITY_LEVEL
 
typedef enum _KPH_SECURITY_LEVELPKPH_SECURITY_LEVEL
 
typedef struct _KPH_DYN_STRUCT_DATA KPH_DYN_STRUCT_DATA
 
typedef struct
_KPH_DYN_STRUCT_DATA
PKPH_DYN_STRUCT_DATA
 
typedef struct _KPH_DYN_PACKAGE KPH_DYN_PACKAGE
 
typedef struct _KPH_DYN_PACKAGEPKPH_DYN_PACKAGE
 
typedef struct
_KPH_DYN_CONFIGURATION 
KPH_DYN_CONFIGURATION
 
typedef struct
_KPH_DYN_CONFIGURATION
PKPH_DYN_CONFIGURATION
 

Enumerations

enum  _KPH_PROCESS_INFORMATION_CLASS { KphProcessProtectionInformation = 1, KphProcessExecuteFlags = 2, KphProcessIoPriority = 3, MaxKphProcessInfoClass }
 
enum  _KPH_THREAD_INFORMATION_CLASS { KphThreadWin32Thread = 1, KphThreadImpersonationToken = 2, KphThreadIoPriority = 3, MaxKphThreadInfoClass }
 
enum  _KPH_OBJECT_INFORMATION_CLASS {
  KphObjectBasicInformation, KphObjectNameInformation, KphObjectTypeInformation, KphObjectHandleFlagInformation,
  KphObjectProcessBasicInformation, KphObjectThreadBasicInformation, KphObjectEtwRegBasicInformation, KphObjectFileObjectInformation,
  KphObjectFileObjectDriver, MaxKphObjectInfoClass
}
 
enum  _DRIVER_INFORMATION_CLASS { DriverBasicInformation, DriverNameInformation, DriverServiceKeyNameInformation, MaxDriverInfoClass }
 
enum  _KPH_SECURITY_LEVEL { KphSecurityNone = 0, KphSecurityPrivilegeCheck = 1, KphMaxSecurityLevel }
 

Macro Definition Documentation

#define KPH_CAPTURESTACKBACKTRACETHREAD   KPH_CTL_CODE(106)

Definition at line 202 of file kphapi.h.

#define KPH_CTL_CODE (   x)    CTL_CODE(KPH_DEVICE_TYPE, 0x800 + x, METHOD_NEITHER, FILE_ANY_ACCESS)

Definition at line 177 of file kphapi.h.

#define KPH_DEVICE_NAME   (L"\\Device\\" KPH_DEVICE_SHORT_NAME)

Definition at line 125 of file kphapi.h.

#define KPH_DEVICE_SHORT_NAME   L"KProcessHacker2"

Definition at line 123 of file kphapi.h.

#define KPH_DEVICE_TYPE   0x9999

Definition at line 124 of file kphapi.h.

#define KPH_DUPLICATEOBJECT   KPH_CTL_CODE(153)

Definition at line 210 of file kphapi.h.

#define KPH_DYN_CONFIGURATION_VERSION   2

Definition at line 161 of file kphapi.h.

#define KPH_DYN_MAXIMUM_PACKAGES   64

Definition at line 162 of file kphapi.h.

#define KPH_ENUMERATEPROCESSHANDLES   KPH_CTL_CODE(150)

Definition at line 207 of file kphapi.h.

#define KPH_GETCONTEXTTHREAD   KPH_CTL_CODE(104)

Definition at line 200 of file kphapi.h.

#define KPH_GETFEATURES   KPH_CTL_CODE(0)

Definition at line 180 of file kphapi.h.

#define KPH_OPENDRIVER   KPH_CTL_CODE(200)

Definition at line 213 of file kphapi.h.

#define KPH_OPENPROCESS   KPH_CTL_CODE(50)

Definition at line 183 of file kphapi.h.

#define KPH_OPENPROCESSJOB   KPH_CTL_CODE(52)

Definition at line 185 of file kphapi.h.

#define KPH_OPENPROCESSTOKEN   KPH_CTL_CODE(51)

Definition at line 184 of file kphapi.h.

#define KPH_OPENTHREAD   KPH_CTL_CODE(100)

Definition at line 196 of file kphapi.h.

#define KPH_OPENTHREADPROCESS   KPH_CTL_CODE(101)

Definition at line 197 of file kphapi.h.

#define KPH_QUERYINFORMATIONDRIVER   KPH_CTL_CODE(201)

Definition at line 214 of file kphapi.h.

#define KPH_QUERYINFORMATIONOBJECT   KPH_CTL_CODE(151)

Definition at line 208 of file kphapi.h.

#define KPH_QUERYINFORMATIONPROCESS   KPH_CTL_CODE(59)

Definition at line 192 of file kphapi.h.

#define KPH_QUERYINFORMATIONTHREAD   KPH_CTL_CODE(107)

Definition at line 203 of file kphapi.h.

#define KPH_READVIRTUALMEMORY   KPH_CTL_CODE(56)

Definition at line 189 of file kphapi.h.

#define KPH_READVIRTUALMEMORYUNSAFE   KPH_CTL_CODE(58)

Definition at line 191 of file kphapi.h.

#define KPH_RESUMEPROCESS   KPH_CTL_CODE(54)

Definition at line 187 of file kphapi.h.

#define KPH_SETCONTEXTTHREAD   KPH_CTL_CODE(105)

Definition at line 201 of file kphapi.h.

#define KPH_SETINFORMATIONOBJECT   KPH_CTL_CODE(152)

Definition at line 209 of file kphapi.h.

#define KPH_SETINFORMATIONPROCESS   KPH_CTL_CODE(60)

Definition at line 193 of file kphapi.h.

#define KPH_SETINFORMATIONTHREAD   KPH_CTL_CODE(108)

Definition at line 204 of file kphapi.h.

#define KPH_SUSPENDPROCESS   KPH_CTL_CODE(53)

Definition at line 186 of file kphapi.h.

#define KPH_TERMINATEPROCESS   KPH_CTL_CODE(55)

Definition at line 188 of file kphapi.h.

#define KPH_TERMINATETHREAD   KPH_CTL_CODE(102)

Definition at line 198 of file kphapi.h.

#define KPH_TERMINATETHREADUNSAFE   KPH_CTL_CODE(103)

Definition at line 199 of file kphapi.h.

#define KPH_WRITEVIRTUALMEMORY   KPH_CTL_CODE(57)

Definition at line 190 of file kphapi.h.

Typedef Documentation

Enumeration Type Documentation

Enumerator:
DriverBasicInformation 
DriverNameInformation 
DriverServiceKeyNameInformation 
MaxDriverInfoClass 

Definition at line 88 of file kphapi.h.

Enumerator:
KphObjectBasicInformation 
KphObjectNameInformation 
KphObjectTypeInformation 
KphObjectHandleFlagInformation 
KphObjectProcessBasicInformation 
KphObjectThreadBasicInformation 
KphObjectEtwRegBasicInformation 
KphObjectFileObjectInformation 
KphObjectFileObjectDriver 
MaxKphObjectInfoClass 

Definition at line 53 of file kphapi.h.

Enumerator:
KphProcessProtectionInformation 
KphProcessExecuteFlags 
KphProcessIoPriority 
MaxKphProcessInfoClass 

Definition at line 9 of file kphapi.h.

Enumerator:
KphSecurityNone 
KphSecurityPrivilegeCheck 
KphMaxSecurityLevel 

Definition at line 129 of file kphapi.h.

Enumerator:
KphThreadWin32Thread 
KphThreadImpersonationToken 
KphThreadIoPriority 
MaxKphThreadInfoClass 

Definition at line 24 of file kphapi.h.