diff options
| author | Fuwn <[email protected]> | 2021-08-18 12:13:24 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2021-08-18 12:13:24 +0000 |
| commit | b16b0b2a2ed03a034b2790ea12445af51b35f096 (patch) | |
| tree | a0f4c14872633754978fadaad8d53e75db82765f /include | |
| parent | feat(soyuz): :rocket: (diff) | |
| download | soyuz-b16b0b2a2ed03a034b2790ea12445af51b35f096.tar.xz soyuz-b16b0b2a2ed03a034b2790ea12445af51b35f096.zip | |
refactor(include): move winapi things to soyuz/windows.h
Diffstat (limited to 'include')
| -rw-r--r-- | include/soyuz/library.hh | 50 | ||||
| -rw-r--r-- | include/soyuz/windows.hh | 58 |
2 files changed, 58 insertions, 50 deletions
diff --git a/include/soyuz/library.hh b/include/soyuz/library.hh index 57fc468..41668a7 100644 --- a/include/soyuz/library.hh +++ b/include/soyuz/library.hh @@ -11,56 +11,6 @@ #define NT_SUCCESS(status) (status >= 0) #define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L) -enum PROCESSINFOCLASS { - ProcessHandleInformation = 51 -}; - -typedef struct _PROCESS_HANDLE_TABLE_ENTRY_INFO { - HANDLE HandleValue; - ULONG_PTR HandleCount; - ULONG_PTR PointerCount; - ULONG GrantedAccess; - ULONG ObjectTypeIndex; - ULONG HandleAttributes; - ULONG Reserved; -} PROCESS_HANDLE_TABLE_ENTRY_INFO, * PPROCESS_HANDLE_TABLE_ENTRY_INFO; - -typedef struct _PROCESS_HANDLE_SNAPSHOT_INFORMATION { - ULONG_PTR NumberOfHandles; - ULONG_PTR Reserved; - PROCESS_HANDLE_TABLE_ENTRY_INFO Handles[1]; -} PROCESS_HANDLE_SNAPSHOT_INFORMATION, * PPROCESS_HANDLE_SNAPSHOT_INFORMATION; - -extern "C" NTSTATUS NTAPI NtQueryInformationProcess( - _In_ HANDLE ProcessHandle, - _In_ PROCESSINFOCLASS ProcessInformationClass, - _Out_writes_bytes_(ProcessInformationLength) PVOID ProcessInformation, - _In_ ULONG ProcessInformationLength, - _Out_opt_ PULONG ReturnLength -); - -typedef enum _OBJECT_INFORMATION_CLASS { - ObjectNameInformation = 1 -} OBJECT_INFORMATION_CLASS; - -typedef struct _UNICODE_STRING { - USHORT Length; - USHORT MaximumLength; - PWSTR Buffer; -} UNICODE_STRING; - -typedef struct _OBJECT_NAME_INFORMATION { - UNICODE_STRING Name; -} OBJECT_NAME_INFORMATION, * POBJECT_NAME_INFORMATION; - -extern "C" NTSTATUS NTAPI NtQueryObject( - _In_opt_ HANDLE Handle, - _In_ OBJECT_INFORMATION_CLASS ObjectInformationClass, - _Out_writes_bytes_opt_(ObjectInformationLength) PVOID ObjectInformation, - _In_ ULONG ObjectInformationLength, - _Out_opt_ PULONG ReturnLength -); - static auto enum_windows_proc(HWND hwnd, LPARAM lparam) -> BOOL; auto find_lunar() -> DWORD; auto delete_handle(DWORD pid) -> int; diff --git a/include/soyuz/windows.hh b/include/soyuz/windows.hh new file mode 100644 index 0000000..dd145ac --- /dev/null +++ b/include/soyuz/windows.hh @@ -0,0 +1,58 @@ +#ifndef SOYUZ_WINDOWS_HH +#define SOYUZ_WINDOWS_HH + +#pragma once + +#include <Windows.h> + +enum PROCESSINFOCLASS { + ProcessHandleInformation = 51 +}; + +typedef struct _PROCESS_HANDLE_TABLE_ENTRY_INFO { + HANDLE HandleValue; + ULONG_PTR HandleCount; + ULONG_PTR PointerCount; + ULONG GrantedAccess; + ULONG ObjectTypeIndex; + ULONG HandleAttributes; + ULONG Reserved; +} PROCESS_HANDLE_TABLE_ENTRY_INFO, * PPROCESS_HANDLE_TABLE_ENTRY_INFO; + +typedef struct _PROCESS_HANDLE_SNAPSHOT_INFORMATION { + ULONG_PTR NumberOfHandles; + ULONG_PTR Reserved; + PROCESS_HANDLE_TABLE_ENTRY_INFO Handles[1]; +} PROCESS_HANDLE_SNAPSHOT_INFORMATION, * PPROCESS_HANDLE_SNAPSHOT_INFORMATION; + +extern "C" NTSTATUS NTAPI NtQueryInformationProcess( + _In_ HANDLE ProcessHandle, + _In_ PROCESSINFOCLASS ProcessInformationClass, + _Out_writes_bytes_(ProcessInformationLength) PVOID ProcessInformation, + _In_ ULONG ProcessInformationLength, + _Out_opt_ PULONG ReturnLength +); + +typedef enum _OBJECT_INFORMATION_CLASS { + ObjectNameInformation = 1 +} OBJECT_INFORMATION_CLASS; + +typedef struct _UNICODE_STRING { + USHORT Length; + USHORT MaximumLength; + PWSTR Buffer; +} UNICODE_STRING; + +typedef struct _OBJECT_NAME_INFORMATION { + UNICODE_STRING Name; +} OBJECT_NAME_INFORMATION, * POBJECT_NAME_INFORMATION; + +extern "C" NTSTATUS NTAPI NtQueryObject( + _In_opt_ HANDLE Handle, + _In_ OBJECT_INFORMATION_CLASS ObjectInformationClass, + _Out_writes_bytes_opt_(ObjectInformationLength) PVOID ObjectInformation, + _In_ ULONG ObjectInformationLength, + _Out_opt_ PULONG ReturnLength +); + +#endif //SOYUZ_WINDOWS_HH |