mirror of
https://github.com/mirror/processhacker
synced 2026-06-08 16:03:24 +00:00
5808bbcfc6
* added some registry-related things to ProcessHacker.Native git-svn-id: svn://svn.code.sf.net/p/processhacker/code@1379 21ef857c-d57f-4fe0-8362-d861dc6d29cd
150 lines
3.3 KiB
C
150 lines
3.3 KiB
C
#ifndef _NATIVEDEFS_H
|
|
#define _NATIVEDEFS_H
|
|
|
|
#include "nph.h"
|
|
|
|
typedef struct _UNICODE_STRING UNICODE_STRING, *PUNICODE_STRING;
|
|
|
|
typedef struct _CLIENT_ID
|
|
{
|
|
HANDLE UniqueProcess;
|
|
HANDLE UniqueThread;
|
|
} CLIENT_ID, *PCLIENT_ID;
|
|
|
|
typedef struct _IO_STATUS_BLOCK
|
|
{
|
|
union
|
|
{
|
|
NTSTATUS Status;
|
|
PVOID Pointer;
|
|
};
|
|
ULONG_PTR Information;
|
|
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
|
|
|
|
typedef struct _OBJECT_ATTRIBUTES
|
|
{
|
|
ULONG Length;
|
|
PVOID RootDirectory;
|
|
PUNICODE_STRING ObjectName;
|
|
ULONG Attributes;
|
|
PVOID SecurityDescriptor;
|
|
PVOID SecurityQualityOfService;
|
|
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
|
|
|
|
typedef struct _UNICODE_STRING
|
|
{
|
|
USHORT Length;
|
|
USHORT MaximumLength;
|
|
PWSTR Buffer;
|
|
} UNICODE_STRING, *PUNICODE_STRING;
|
|
|
|
#define NTDEVICEIOCONTROLFILE_ARGS \
|
|
HANDLE FileHandle, \
|
|
HANDLE Event, \
|
|
PVOID ApcRoutine, \
|
|
PVOID ApcContext, \
|
|
PIO_STATUS_BLOCK IoStatusBlock, \
|
|
ULONG IoControlCode, \
|
|
PVOID InputBuffer, \
|
|
ULONG InputBufferLength, \
|
|
PVOID OutputBuffer, \
|
|
ULONG OutputBufferLength
|
|
|
|
typedef NTSTATUS (NTAPI *_NtDeviceIoControlFile)(
|
|
NTDEVICEIOCONTROLFILE_ARGS
|
|
);
|
|
|
|
#define NTGETCONTEXTTHREAD_ARGS \
|
|
HANDLE ThreadHandle, \
|
|
PCONTEXT Context
|
|
|
|
typedef NTSTATUS (NTAPI *_NtGetContextThread)(
|
|
NTGETCONTEXTTHREAD_ARGS
|
|
);
|
|
|
|
#define NTOPENPROCESS_ARGS \
|
|
PHANDLE ProcessHandle, \
|
|
ACCESS_MASK DesiredAccess, \
|
|
POBJECT_ATTRIBUTES ObjectAttributes, \
|
|
PCLIENT_ID ClientId
|
|
|
|
typedef NTSTATUS (NTAPI *_NtOpenProcess)(
|
|
NTOPENPROCESS_ARGS
|
|
);
|
|
|
|
#define NTOPENPROCESSTOKEN_ARGS \
|
|
HANDLE ProcessHandle, \
|
|
ACCESS_MASK DesiredAccess, \
|
|
PHANDLE TokenHandle
|
|
|
|
typedef NTSTATUS (NTAPI *_NtOpenProcessToken)(
|
|
NTOPENPROCESSTOKEN_ARGS
|
|
);
|
|
|
|
#define NTOPENPROCESSTOKENEX_ARGS \
|
|
HANDLE ProcessHandle, \
|
|
ACCESS_MASK DesiredAccess, \
|
|
ULONG HandleAttributes, \
|
|
PHANDLE TokenHandle
|
|
|
|
typedef NTSTATUS (NTAPI *_NtOpenProcessTokenEx)(
|
|
NTOPENPROCESSTOKENEX_ARGS
|
|
);
|
|
|
|
#define NTOPENTHREAD_ARGS \
|
|
PHANDLE ThreadHandle, \
|
|
ACCESS_MASK DesiredAccess, \
|
|
POBJECT_ATTRIBUTES ObjectAttributes, \
|
|
PCLIENT_ID ClientId
|
|
|
|
typedef NTSTATUS (NTAPI *_NtOpenThread)(
|
|
NTOPENTHREAD_ARGS
|
|
);
|
|
|
|
#define NTREADVIRTUALMEMORY_ARGS \
|
|
HANDLE ProcessHandle, \
|
|
PVOID BaseAddress, \
|
|
PVOID Buffer, \
|
|
ULONG BufferLength, \
|
|
PULONG ReturnLength
|
|
|
|
typedef NTSTATUS (NTAPI *_NtReadVirtualMemory)(
|
|
NTREADVIRTUALMEMORY_ARGS
|
|
);
|
|
|
|
#define NTSETCONTEXTTHREAD_ARGS \
|
|
HANDLE ThreadHandle, \
|
|
PCONTEXT Context
|
|
|
|
typedef NTSTATUS (NTAPI *_NtSetContextThread)(
|
|
NTSETCONTEXTTHREAD_ARGS
|
|
);
|
|
|
|
#define NTTERMINATEPROCESS_ARGS \
|
|
HANDLE ProcessHandle, \
|
|
NTSTATUS ExitStatus
|
|
|
|
typedef NTSTATUS (NTAPI *_NtTerminateProcess)(
|
|
NTTERMINATEPROCESS_ARGS
|
|
);
|
|
|
|
#define NTTERMINATETHREAD_ARGS \
|
|
HANDLE ThreadHandle, \
|
|
NTSTATUS ExitStatus
|
|
|
|
typedef NTSTATUS (NTAPI *_NtTerminateThread)(
|
|
NTTERMINATETHREAD_ARGS
|
|
);
|
|
|
|
#define NTWRITEVIRTUALMEMORY_ARGS \
|
|
HANDLE ProcessHandle, \
|
|
PVOID BaseAddress, \
|
|
PVOID Buffer, \
|
|
ULONG BufferLength, \
|
|
PULONG ReturnLength
|
|
|
|
typedef NTSTATUS (NTAPI *_NtWriteVirtualMemory)(
|
|
NTWRITEVIRTUALMEMORY_ARGS
|
|
);
|
|
|
|
#endif |