Files
hfiref0x-WinObjEx64/Source/WinObjEx64/extapi.h
T
hfiref0x 71d340be5e 2.0.0
added entirely new handling of object names to support embedded nulls
added Pico providers, Nmi, SiloMonitor and Errata manager callbacks
added CmControlVector viewer
added Copy Name/Copy Name (Binary) commands to the main window popup menus
added program statistics (see Help->Statistics)
added legend window description for process list
added ability to fix image sections for dumped drivers
added RegistryTransaction object view and access rights
moved "Globals" from about box to the View->System Information and rearranged it output
drivers dump operation can now be cancelled
fix display of PUNICODE_STRING dump
fix ALPC Port type objects sometimes unable to open while they can be opened
plugin sdk updated to accommodate new named objects handling
imagescope plugin updated to accomodate plugin sdk changes
elevation required features in "extras" will now request elevation instead of just been disabled
help file updated with drivers and symbols usage
internal rearrange and minor UI changes
(release candidate 1)
2022-06-22 09:20:21 +07:00

75 lines
2.1 KiB
C

/*******************************************************************************
*
* (C) COPYRIGHT AUTHORS, 2015 - 2022
*
* TITLE: EXTAPI.H
*
* VERSION: 2.00
*
* DATE: 19 Jun 2022
*
* Header for pre Windows 10+ missing API.
*
* 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
typedef NTSTATUS (NTAPI *pfnNtOpenPartition)(
_Out_ PHANDLE PartitionHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ POBJECT_ATTRIBUTES ObjectAttributes
);
typedef NTSTATUS (NTAPI *pfnNtManagePartition)(
_In_ HANDLE TargetHandle,
_In_opt_ HANDLE SourceHandle,
_In_ MEMORY_PARTITION_INFORMATION_CLASS PartitionInformationClass,
_In_ PVOID PartitionInformation,
_In_ ULONG PartitionInformationLength
);
typedef NTSTATUS (NTAPI *pfnNtOpenRegistryTransaction)(
_Out_ PHANDLE RegistryHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ POBJECT_ATTRIBUTES ObjectAttributes);
typedef BOOL (WINAPI *pfnIsImmersiveProcess)(
HANDLE hProcess
);
typedef DPI_AWARENESS_CONTEXT (WINAPI *pfnGetThreadDpiAwarenessContext)(
VOID);
typedef DPI_AWARENESS (WINAPI *pfnGetAwarenessFromDpiAwarenessContext)(
_In_ DPI_AWARENESS_CONTEXT value);
typedef UINT (WINAPI *pfnGetDpiForWindow)(
_In_ HWND hwnd);
typedef UINT (WINAPI *pfnGetDpiForSystem)(
VOID);
#define EXTAPI_ALL_MAPPED 7
typedef struct _EXTENDED_API_SET {
ULONG NumberOfAPI;
pfnNtOpenPartition NtOpenPartition;
pfnNtOpenRegistryTransaction NtOpenRegistryTransaction;
pfnIsImmersiveProcess IsImmersiveProcess;
pfnGetThreadDpiAwarenessContext GetThreadDpiAwarenessContext;
pfnGetAwarenessFromDpiAwarenessContext GetAwarenessFromDpiAwarenessContext;
pfnGetDpiForWindow GetDpiForWindow;
pfnGetDpiForSystem GetDpiForSystem;
} EXTENDED_API_SET, *PEXTENDED_API_SET;
NTSTATUS ExApiSetInit(
VOID
);
extern EXTENDED_API_SET g_ExtApiSet;