Mercurial > games > semicongine
comparison fuhtark_test/include/winapi/wmistr.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /** | |
| 2 * This file has no copyright assigned and is placed in the Public Domain. | |
| 3 * This file is part of the w64 mingw-runtime package. | |
| 4 * No warranty is given; refer to the file DISCLAIMER within this package. | |
| 5 */ | |
| 6 #ifndef _WMISTR_ | |
| 7 #define _WMISTR_ | |
| 8 | |
| 9 typedef struct _WNODE_HEADER { | |
| 10 ULONG BufferSize; | |
| 11 ULONG ProviderId; | |
| 12 __MINGW_EXTENSION union { | |
| 13 ULONG64 HistoricalContext; | |
| 14 __MINGW_EXTENSION struct { | |
| 15 ULONG Version; | |
| 16 ULONG Linkage; | |
| 17 }; | |
| 18 }; | |
| 19 __MINGW_EXTENSION union { | |
| 20 ULONG CountLost; | |
| 21 HANDLE KernelHandle; | |
| 22 LARGE_INTEGER TimeStamp; | |
| 23 }; | |
| 24 GUID Guid; | |
| 25 ULONG ClientContext; | |
| 26 ULONG Flags; | |
| 27 } WNODE_HEADER,*PWNODE_HEADER; | |
| 28 | |
| 29 #define WNODE_FLAG_ALL_DATA 0x00000001 | |
| 30 #define WNODE_FLAG_SINGLE_INSTANCE 0x00000002 | |
| 31 #define WNODE_FLAG_SINGLE_ITEM 0x00000004 | |
| 32 #define WNODE_FLAG_EVENT_ITEM 0x00000008 | |
| 33 #define WNODE_FLAG_FIXED_INSTANCE_SIZE 0x00000010 | |
| 34 #define WNODE_FLAG_TOO_SMALL 0x00000020 | |
| 35 #define WNODE_FLAG_INSTANCES_SAME 0x00000040 | |
| 36 #define WNODE_FLAG_STATIC_INSTANCE_NAMES 0x00000080 | |
| 37 #define WNODE_FLAG_INTERNAL 0x00000100 | |
| 38 #define WNODE_FLAG_USE_TIMESTAMP 0x00000200 | |
| 39 #define WNODE_FLAG_PERSIST_EVENT 0x00000400 | |
| 40 #define WNODE_FLAG_EVENT_REFERENCE 0x00002000 | |
| 41 #define WNODE_FLAG_ANSI_INSTANCENAMES 0x00004000 | |
| 42 #define WNODE_FLAG_METHOD_ITEM 0x00008000 | |
| 43 #define WNODE_FLAG_PDO_INSTANCE_NAMES 0x00010000 | |
| 44 #define WNODE_FLAG_TRACED_GUID 0x00020000 | |
| 45 #define WNODE_FLAG_LOG_WNODE 0x00040000 | |
| 46 #define WNODE_FLAG_USE_GUID_PTR 0x00080000 | |
| 47 #define WNODE_FLAG_USE_MOF_PTR 0x00100000 | |
| 48 #define WNODE_FLAG_NO_HEADER 0x00200000 | |
| 49 #define WNODE_FLAG_SEVERITY_MASK 0xff000000 | |
| 50 | |
| 51 typedef struct { | |
| 52 ULONG OffsetInstanceData; | |
| 53 ULONG LengthInstanceData; | |
| 54 } OFFSETINSTANCEDATAANDLENGTH,*POFFSETINSTANCEDATAANDLENGTH; | |
| 55 | |
| 56 typedef struct tagWNODE_ALL_DATA { | |
| 57 struct _WNODE_HEADER WnodeHeader; | |
| 58 ULONG DataBlockOffset; | |
| 59 ULONG InstanceCount; | |
| 60 ULONG OffsetInstanceNameOffsets; | |
| 61 __MINGW_EXTENSION union { | |
| 62 ULONG FixedInstanceSize; | |
| 63 OFFSETINSTANCEDATAANDLENGTH OffsetInstanceDataAndLength[1]; | |
| 64 }; | |
| 65 } WNODE_ALL_DATA,*PWNODE_ALL_DATA; | |
| 66 | |
| 67 typedef struct tagWNODE_SINGLE_INSTANCE { | |
| 68 struct _WNODE_HEADER WnodeHeader; | |
| 69 ULONG OffsetInstanceName; | |
| 70 ULONG InstanceIndex; | |
| 71 ULONG DataBlockOffset; | |
| 72 ULONG SizeDataBlock; | |
| 73 UCHAR VariableData[]; | |
| 74 } WNODE_SINGLE_INSTANCE,*PWNODE_SINGLE_INSTANCE; | |
| 75 | |
| 76 typedef struct tagWNODE_SINGLE_ITEM { | |
| 77 struct _WNODE_HEADER WnodeHeader; | |
| 78 ULONG OffsetInstanceName; | |
| 79 ULONG InstanceIndex; | |
| 80 ULONG ItemId; | |
| 81 ULONG DataBlockOffset; | |
| 82 ULONG SizeDataItem; | |
| 83 UCHAR VariableData[]; | |
| 84 } WNODE_SINGLE_ITEM,*PWNODE_SINGLE_ITEM; | |
| 85 | |
| 86 typedef struct tagWNODE_METHOD_ITEM { | |
| 87 struct _WNODE_HEADER WnodeHeader; | |
| 88 ULONG OffsetInstanceName; | |
| 89 ULONG InstanceIndex; | |
| 90 ULONG MethodId; | |
| 91 ULONG DataBlockOffset; | |
| 92 ULONG SizeDataBlock; | |
| 93 UCHAR VariableData[]; | |
| 94 } WNODE_METHOD_ITEM,*PWNODE_METHOD_ITEM; | |
| 95 | |
| 96 typedef struct tagWNODE_EVENT_ITEM { | |
| 97 struct _WNODE_HEADER WnodeHeader; | |
| 98 } WNODE_EVENT_ITEM,*PWNODE_EVENT_ITEM; | |
| 99 | |
| 100 typedef struct tagWNODE_EVENT_REFERENCE { | |
| 101 struct _WNODE_HEADER WnodeHeader; | |
| 102 GUID TargetGuid; | |
| 103 ULONG TargetDataBlockSize; | |
| 104 __MINGW_EXTENSION union { | |
| 105 ULONG TargetInstanceIndex; | |
| 106 WCHAR TargetInstanceName[1]; | |
| 107 }; | |
| 108 } WNODE_EVENT_REFERENCE,*PWNODE_EVENT_REFERENCE; | |
| 109 | |
| 110 typedef struct tagWNODE_TOO_SMALL { | |
| 111 struct _WNODE_HEADER WnodeHeader; | |
| 112 ULONG SizeNeeded; | |
| 113 } WNODE_TOO_SMALL,*PWNODE_TOO_SMALL; | |
| 114 | |
| 115 typedef struct { | |
| 116 GUID Guid; | |
| 117 ULONG Flags; | |
| 118 ULONG InstanceCount; | |
| 119 __MINGW_EXTENSION union { | |
| 120 ULONG InstanceNameList; | |
| 121 ULONG BaseNameOffset; | |
| 122 ULONG_PTR Pdo; | |
| 123 ULONG_PTR InstanceInfo; | |
| 124 }; | |
| 125 } WMIREGGUIDW,*PWMIREGGUIDW; | |
| 126 | |
| 127 typedef WMIREGGUIDW WMIREGGUID; | |
| 128 typedef PWMIREGGUIDW PWMIREGGUID; | |
| 129 | |
| 130 #define WMIREG_FLAG_EXPENSIVE 0x00000001 | |
| 131 #define WMIREG_FLAG_INSTANCE_LIST 0x00000004 | |
| 132 #define WMIREG_FLAG_INSTANCE_BASENAME 0x00000008 | |
| 133 #define WMIREG_FLAG_INSTANCE_PDO 0x00000020 | |
| 134 #define WMIREG_FLAG_REMOVE_GUID 0x00010000 | |
| 135 #define WMIREG_FLAG_RESERVED1 0x00020000 | |
| 136 #define WMIREG_FLAG_RESERVED2 0x00040000 | |
| 137 #define WMIREG_FLAG_TRACED_GUID 0x00080000 | |
| 138 #define WMIREG_FLAG_TRACE_CONTROL_GUID 0x00001000 | |
| 139 #define WMIREG_FLAG_EVENT_ONLY_GUID 0x00000040 | |
| 140 | |
| 141 typedef struct { | |
| 142 ULONG BufferSize; | |
| 143 ULONG NextWmiRegInfo; | |
| 144 ULONG RegistryPath; | |
| 145 ULONG MofResourceName; | |
| 146 ULONG GuidCount; | |
| 147 WMIREGGUIDW WmiRegGuid[]; | |
| 148 } WMIREGINFOW,*PWMIREGINFOW; | |
| 149 | |
| 150 typedef WMIREGINFOW WMIREGINFO; | |
| 151 typedef PWMIREGINFOW PWMIREGINFO; | |
| 152 | |
| 153 typedef enum { | |
| 154 WMI_GET_ALL_DATA = 0,WMI_GET_SINGLE_INSTANCE = 1,WMI_SET_SINGLE_INSTANCE = 2,WMI_SET_SINGLE_ITEM = 3,WMI_ENABLE_EVENTS = 4,WMI_DISABLE_EVENTS = 5, | |
| 155 WMI_ENABLE_COLLECTION = 6,WMI_DISABLE_COLLECTION = 7,WMI_REGINFO = 8,WMI_EXECUTE_METHOD = 9 | |
| 156 } WMIDPREQUESTCODE; | |
| 157 | |
| 158 #if defined(_WINNT_) || defined(WINNT) | |
| 159 | |
| 160 #define WMI_GUIDTYPE_TRACECONTROL 0 | |
| 161 #define WMI_GUIDTYPE_TRACE 1 | |
| 162 #define WMI_GUIDTYPE_DATA 2 | |
| 163 #define WMI_GUIDTYPE_EVENT 3 | |
| 164 | |
| 165 #define WMIGUID_QUERY 0x0001 | |
| 166 #define WMIGUID_SET 0x0002 | |
| 167 #define WMIGUID_NOTIFICATION 0x0004 | |
| 168 #define WMIGUID_READ_DESCRIPTION 0x0008 | |
| 169 #define WMIGUID_EXECUTE 0x0010 | |
| 170 #define TRACELOG_CREATE_REALTIME 0x0020 | |
| 171 #define TRACELOG_CREATE_ONDISK 0x0040 | |
| 172 #define TRACELOG_GUID_ENABLE 0x0080 | |
| 173 #define TRACELOG_ACCESS_KERNEL_LOGGER 0x0100 | |
| 174 #define TRACELOG_CREATE_INPROC 0x0200 | |
| 175 #define TRACELOG_ACCESS_REALTIME 0x0400 | |
| 176 #define TRACELOG_REGISTER_GUIDS 0x0800 | |
| 177 | |
| 178 #define WMIGUID_ALL_ACCESS (STANDARD_RIGHTS_READ | SYNCHRONIZE | WMIGUID_QUERY | WMIGUID_SET | WMIGUID_NOTIFICATION | WMIGUID_READ_DESCRIPTION | WMIGUID_EXECUTE | TRACELOG_CREATE_REALTIME | TRACELOG_CREATE_ONDISK | TRACELOG_GUID_ENABLE | TRACELOG_ACCESS_KERNEL_LOGGER | TRACELOG_CREATE_INPROC | TRACELOG_ACCESS_REALTIME | TRACELOG_REGISTER_GUIDS) | |
| 179 | |
| 180 #define WMI_GLOBAL_LOGGER_ID 0x0001 | |
| 181 #endif | |
| 182 #endif |
