UACME/Source/Yuubari/sup.h

85 lines
1.7 KiB
C

#/*******************************************************************************
*
* (C) COPYRIGHT AUTHORS, 2014 - 2021
*
* TITLE: SUP.H
*
* VERSION: 1.52
*
* DATE: 23 Nov 2021
*
* Common header file for the program support routines.
*
* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED
* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
*
*******************************************************************************/
#pragma once
/*
* supHeapAlloc
*
* Purpose:
*
* Wrapper for RtlAllocateHeap.
*
*/
PVOID FORCEINLINE supHeapAlloc(
_In_ SIZE_T Size)
{
return RtlAllocateHeap(NtCurrentPeb()->ProcessHeap, HEAP_ZERO_MEMORY, Size);
}
/*
* supHeapFree
*
* Purpose:
*
* Wrapper for RtlFreeHeap.
*
*/
BOOL FORCEINLINE supHeapFree(
_In_ PVOID Memory)
{
return RtlFreeHeap(NtCurrentPeb()->ProcessHeap, 0, Memory);
}
BOOL supIsCorImageFile(
_In_ PVOID ImageBase);
LPWSTR supReadKeyString(
_In_ HKEY hKey,
_In_ LPWSTR KeyValue,
_In_ PDWORD pdwDataSize);
PVOID supQueryKeyName(
_In_ HKEY hKey,
_Out_opt_ PSIZE_T ReturnedLength);
BOOLEAN supIsProcess32bit(
_In_ HANDLE hProcess);
PVOID supFindPattern(
_In_ CONST PBYTE Buffer,
_In_ SIZE_T BufferSize,
_In_ CONST PBYTE Pattern,
_In_ SIZE_T PatternSize);
LRESULT supRegReadDword(
_In_ HKEY hKey,
_In_ LPWSTR lpValueName,
_In_ LPDWORD Value);
PVOID supLookupImageSectionByName(
_In_ CHAR* SectionName,
_In_ ULONG SectionNameLength,
_In_ PVOID DllBase,
_Out_ PULONG SectionSize);
BOOL supConcatenatePaths(
_Inout_ LPWSTR Target,
_In_ LPCWSTR Path,
_In_ SIZE_T TargetBufferSize);