ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/avrfsdk.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 2554 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5
6 #include <winapifamily.h>
7
8 #ifndef _AVRFSDK_
9 #define _AVRFSDK_
10
11 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 #define AVRF_MAX_TRACES 32
18
19 enum eHeapAllocationState {
20 HeapFullPageHeap = 0x40000000,
21 HeapMetadata = 0x80000000,
22 HeapStateMask = 0xffff0000
23 };
24
25 enum eHeapEnumerationLevel {
26 HeapEnumerationEverything = 0x0,
27 HeapEnumerationStop = 0xffffffff
28 };
29
30 enum eHANDLE_TRACE_OPERATIONS {
31 OperationDbUnused,
32 OperationDbOPEN,
33 OperationDbCLOSE,
34 OperationDbBADREF
35 };
36
37 enum eAvrfResourceTypes {
38 AvrfResourceHeapAllocation,
39 AvrfResourceHandleTrace,
40 AvrfResourceMax
41 };
42
43 enum eUserAllocationState {
44 AllocationStateUnknown,
45 AllocationStateBusy,
46 AllocationStateFree
47 };
48
49 typedef struct _AVRF_BACKTRACE_INFORMATION {
50 ULONG Depth;
51 ULONG Index;
52 ULONG64 ReturnAddresses[AVRF_MAX_TRACES];
53 } AVRF_BACKTRACE_INFORMATION,*PAVRF_BACKTRACE_INFORMATION;
54
55 typedef struct _AVRF_HEAP_ALLOCATION {
56 ULONG64 HeapHandle;
57 ULONG64 UserAllocation;
58 ULONG64 UserAllocationSize;
59 ULONG64 Allocation;
60 ULONG64 AllocationSize;
61 ULONG UserAllocationState;
62 ULONG HeapState;
63 ULONG64 HeapContext;
64 PAVRF_BACKTRACE_INFORMATION BackTraceInformation;
65 } AVRF_HEAP_ALLOCATION,*PAVRF_HEAP_ALLOCATION;
66
67 typedef struct _AVRF_HANDLE_OPERATION {
68 ULONG64 Handle;
69 ULONG ProcessId;
70 ULONG ThreadId;
71 ULONG OperationType;
72 ULONG Spare0;
73 AVRF_BACKTRACE_INFORMATION BackTraceInformation;
74 } AVRF_HANDLE_OPERATION,*PAVRF_HANDLE_OPERATION;
75
76 typedef ULONG (NTAPI *AVRF_RESOURCE_ENUMERATE_CALLBACK) (PVOID ResourceDescription, PVOID EnumerationContext, PULONG EnumerationLevel);
77 typedef ULONG (NTAPI *AVRF_HEAPALLOCATION_ENUMERATE_CALLBACK) (PAVRF_HEAP_ALLOCATION HeapAllocation, PVOID EnumerationContext, PULONG EnumerationLevel);
78 typedef ULONG (NTAPI *AVRF_HANDLEOPERATION_ENUMERATE_CALLBACK) (PAVRF_HANDLE_OPERATION HandleOperation, PVOID EnumerationContext, PULONG EnumerationLevel);
79
80 #define AVRF_ENUM_RESOURCES_FLAGS_SUSPEND 0x0001
81 #define AVRF_ENUM_RESOURCES_FLAGS_DONT_RESOLVE_TRACES 0x0002
82
83 ULONG NTAPI VerifierEnumerateResource (HANDLE Process, ULONG Flags, ULONG ResourceType, AVRF_RESOURCE_ENUMERATE_CALLBACK ResourceCallback, PVOID EnumerationContext);
84 WINBOOL NTAPI VerifierIsPerUserSettingsEnabled (VOID);
85
86 #ifdef __cplusplus
87 }
88 #endif
89
90 #endif
91 #endif