2006-05-10 17:47:44 +00:00
|
|
|
/*++ NDK Version: 0098
|
2006-05-05 18:13:26 +00:00
|
|
|
|
|
|
|
Copyright (c) Alex Ionescu. All rights reserved.
|
|
|
|
|
|
|
|
Header Name:
|
|
|
|
|
|
|
|
dbgkfuncs.h
|
|
|
|
|
|
|
|
Abstract:
|
|
|
|
|
|
|
|
Function definitions for the User Mode Debugging Facility.
|
|
|
|
|
|
|
|
Author:
|
|
|
|
|
2006-05-10 17:47:44 +00:00
|
|
|
Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
|
2006-05-05 18:13:26 +00:00
|
|
|
|
|
|
|
--*/
|
|
|
|
|
|
|
|
#ifndef _DBGKFUNCS_H
|
|
|
|
#define _DBGKFUNCS_H
|
|
|
|
|
|
|
|
//
|
|
|
|
// Dependencies
|
|
|
|
//
|
|
|
|
#include <umtypes.h>
|
2006-06-28 17:02:37 +00:00
|
|
|
#include <dbgktypes.h>
|
2006-05-05 18:13:26 +00:00
|
|
|
|
|
|
|
//
|
|
|
|
// Native calls
|
|
|
|
//
|
2006-06-28 17:02:37 +00:00
|
|
|
NTSYSCALLAPI
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
NtDebugActiveProcess(
|
|
|
|
IN HANDLE Process,
|
|
|
|
IN HANDLE DebugObject
|
|
|
|
);
|
|
|
|
|
2006-05-05 18:13:26 +00:00
|
|
|
NTSYSCALLAPI
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
NtCreateDebugObject(
|
|
|
|
OUT PHANDLE DebugHandle,
|
|
|
|
IN ACCESS_MASK DesiredAccess,
|
|
|
|
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
2009-07-15 14:01:15 +00:00
|
|
|
IN ULONG Flags
|
2006-05-05 18:13:26 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
NTSYSCALLAPI
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
NtDebugContinue(
|
|
|
|
IN HANDLE DebugObject,
|
|
|
|
IN PCLIENT_ID AppClientId,
|
|
|
|
IN NTSTATUS ContinueStatus
|
|
|
|
);
|
|
|
|
|
|
|
|
NTSYSCALLAPI
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
NtWaitForDebugEvent(
|
|
|
|
IN HANDLE DebugObject,
|
|
|
|
IN BOOLEAN Alertable,
|
|
|
|
IN PLARGE_INTEGER Timeout OPTIONAL,
|
|
|
|
OUT PDBGUI_WAIT_STATE_CHANGE StateChange
|
|
|
|
);
|
|
|
|
|
2006-06-28 17:02:37 +00:00
|
|
|
NTSYSCALLAPI
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
NtRemoveProcessDebug(
|
|
|
|
IN HANDLE Process,
|
|
|
|
IN HANDLE DebugObject
|
|
|
|
);
|
|
|
|
|
|
|
|
NTSYSCALLAPI
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
NtSetInformationDebugObject(
|
|
|
|
IN HANDLE DebugObject,
|
|
|
|
IN DEBUGOBJECTINFOCLASS InformationClass,
|
|
|
|
IN PVOID Information,
|
|
|
|
IN ULONG InformationLength,
|
|
|
|
OUT PULONG ReturnLength OPTIONAL
|
|
|
|
);
|
|
|
|
|
|
|
|
NTSYSAPI
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
ZwDebugActiveProcess(
|
|
|
|
IN HANDLE Process,
|
|
|
|
IN HANDLE DebugObject
|
|
|
|
);
|
|
|
|
|
2006-05-10 17:47:44 +00:00
|
|
|
NTSYSAPI
|
2006-05-05 18:13:26 +00:00
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
ZwCreateDebugObject(
|
|
|
|
OUT PHANDLE DebugHandle,
|
|
|
|
IN ACCESS_MASK DesiredAccess,
|
|
|
|
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
2009-07-25 15:31:57 +00:00
|
|
|
IN ULONG Flags
|
2006-05-05 18:13:26 +00:00
|
|
|
);
|
|
|
|
|
2006-05-10 17:47:44 +00:00
|
|
|
NTSYSAPI
|
2006-05-05 18:13:26 +00:00
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
ZwDebugContinue(
|
|
|
|
IN HANDLE DebugObject,
|
|
|
|
IN PCLIENT_ID AppClientId,
|
|
|
|
IN NTSTATUS ContinueStatus
|
|
|
|
);
|
|
|
|
|
2006-06-28 17:02:37 +00:00
|
|
|
NTSYSAPI
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
ZwRemoveProcessDebug(
|
|
|
|
IN HANDLE Process,
|
|
|
|
IN HANDLE DebugObject
|
|
|
|
);
|
|
|
|
|
2006-05-10 17:47:44 +00:00
|
|
|
NTSYSAPI
|
2006-05-05 18:13:26 +00:00
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
ZwWaitForDebugEvent(
|
|
|
|
IN HANDLE DebugObject,
|
|
|
|
IN BOOLEAN Alertable,
|
|
|
|
IN PLARGE_INTEGER Timeout OPTIONAL,
|
|
|
|
OUT PDBGUI_WAIT_STATE_CHANGE StateChange
|
|
|
|
);
|
2006-06-28 17:02:37 +00:00
|
|
|
|
|
|
|
NTSYSAPI
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
ZwSetInformationDebugObject(
|
|
|
|
IN HANDLE DebugObject,
|
|
|
|
IN DEBUGOBJECTINFOCLASS InformationClass,
|
|
|
|
IN PVOID Information,
|
|
|
|
IN ULONG InformationLength,
|
|
|
|
OUT PULONG ReturnLength OPTIONAL
|
|
|
|
);
|
2006-05-05 18:13:26 +00:00
|
|
|
#endif
|