1 /*++ NDK Version: 0098 2 3 Copyright (c) Alex Ionescu. All rights reserved. 4 5 Header Name: 6 7 dbgkfuncs.h 8 9 Abstract: 10 11 Function definitions for the User Mode Debugging Facility. 12 13 Author: 14 15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006 16 17 --*/ 18 19 #ifndef _DBGKFUNCS_H 20 #define _DBGKFUNCS_H 21 22 // 23 // Dependencies 24 // 25 #include <umtypes.h> 26 #include <dbgktypes.h> 27 28 // 29 // Native calls 30 // 31 NTSYSCALLAPI 32 NTSTATUS 33 NTAPI 34 NtDebugActiveProcess( 35 _In_ HANDLE Process, 36 _In_ HANDLE DebugObject 37 ); 38 39 NTSYSCALLAPI 40 NTSTATUS 41 NTAPI 42 NtCreateDebugObject( 43 _Out_ PHANDLE DebugHandle, 44 _In_ ACCESS_MASK DesiredAccess, 45 _In_ POBJECT_ATTRIBUTES ObjectAttributes, 46 _In_ ULONG Flags 47 ); 48 49 NTSYSCALLAPI 50 NTSTATUS 51 NTAPI 52 NtDebugContinue( 53 _In_ HANDLE DebugObject, 54 _In_ PCLIENT_ID AppClientId, 55 _In_ NTSTATUS ContinueStatus 56 ); 57 58 NTSYSCALLAPI 59 NTSTATUS 60 NTAPI 61 NtWaitForDebugEvent( 62 _In_ HANDLE DebugObject, 63 _In_ BOOLEAN Alertable, 64 _In_opt_ PLARGE_INTEGER Timeout, 65 _Out_ PDBGUI_WAIT_STATE_CHANGE StateChange 66 ); 67 68 NTSYSCALLAPI 69 NTSTATUS 70 NTAPI 71 NtRemoveProcessDebug( 72 _In_ HANDLE Process, 73 _In_ HANDLE DebugObject 74 ); 75 76 NTSYSCALLAPI 77 NTSTATUS 78 NTAPI 79 NtSetInformationDebugObject( 80 _In_ HANDLE DebugObject, 81 _In_ DEBUGOBJECTINFOCLASS InformationClass, 82 _In_ PVOID Information, 83 _In_ ULONG InformationLength, 84 _Out_opt_ PULONG ReturnLength 85 ); 86 87 NTSYSAPI 88 NTSTATUS 89 NTAPI 90 ZwDebugActiveProcess( 91 _In_ HANDLE Process, 92 _In_ HANDLE DebugObject 93 ); 94 95 NTSYSAPI 96 NTSTATUS 97 NTAPI 98 ZwCreateDebugObject( 99 _Out_ PHANDLE DebugHandle, 100 _In_ ACCESS_MASK DesiredAccess, 101 _In_ POBJECT_ATTRIBUTES ObjectAttributes, 102 _In_ ULONG Flags 103 ); 104 105 NTSYSAPI 106 NTSTATUS 107 NTAPI 108 ZwDebugContinue( 109 _In_ HANDLE DebugObject, 110 _In_ PCLIENT_ID AppClientId, 111 _In_ NTSTATUS ContinueStatus 112 ); 113 114 NTSYSAPI 115 NTSTATUS 116 NTAPI 117 ZwRemoveProcessDebug( 118 _In_ HANDLE Process, 119 _In_ HANDLE DebugObject 120 ); 121 122 NTSYSAPI 123 NTSTATUS 124 NTAPI 125 ZwWaitForDebugEvent( 126 _In_ HANDLE DebugObject, 127 _In_ BOOLEAN Alertable, 128 _In_opt_ PLARGE_INTEGER Timeout, 129 _Out_ PDBGUI_WAIT_STATE_CHANGE StateChange 130 ); 131 132 NTSYSAPI 133 NTSTATUS 134 NTAPI 135 ZwSetInformationDebugObject( 136 _In_ HANDLE DebugObject, 137 _In_ DEBUGOBJECTINFOCLASS InformationClass, 138 _In_ PVOID Information, 139 _In_ ULONG InformationLength, 140 _Out_opt_ PULONG ReturnLength 141 ); 142 #endif 143