| 1 | #ifndef _MINWINBASE_
|
|---|
| 2 | #define _MINWINBASE_
|
|---|
| 3 |
|
|---|
| 4 | #ifdef __cplusplus
|
|---|
| 5 | extern "C" {
|
|---|
| 6 | #endif
|
|---|
| 7 |
|
|---|
| 8 | #define MoveMemory RtlMoveMemory
|
|---|
| 9 | #define CopyMemory RtlCopyMemory
|
|---|
| 10 | #define FillMemory RtlFillMemory
|
|---|
| 11 | #define ZeroMemory RtlZeroMemory
|
|---|
| 12 |
|
|---|
| 13 | typedef struct _SECURITY_ATTRIBUTES {
|
|---|
| 14 | DWORD nLength;
|
|---|
| 15 | LPVOID lpSecurityDescriptor;
|
|---|
| 16 | WINBOOL bInheritHandle;
|
|---|
| 17 | } SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
|
|---|
| 18 |
|
|---|
| 19 | typedef struct _OVERLAPPED {
|
|---|
| 20 | ULONG_PTR Internal;
|
|---|
| 21 | ULONG_PTR InternalHigh;
|
|---|
| 22 | __C89_NAMELESS union {
|
|---|
| 23 | struct {
|
|---|
| 24 | DWORD Offset;
|
|---|
| 25 | DWORD OffsetHigh;
|
|---|
| 26 | } DUMMYSTRUCTNAME;
|
|---|
| 27 | PVOID Pointer;
|
|---|
| 28 | } DUMMYUNIONNAME;
|
|---|
| 29 | HANDLE hEvent;
|
|---|
| 30 | } OVERLAPPED, *LPOVERLAPPED;
|
|---|
| 31 |
|
|---|
| 32 | typedef struct _OVERLAPPED_ENTRY {
|
|---|
| 33 | ULONG_PTR lpCompletionKey;
|
|---|
| 34 | LPOVERLAPPED lpOverlapped;
|
|---|
| 35 | ULONG_PTR Internal;
|
|---|
| 36 | DWORD dwNumberOfBytesTransferred;
|
|---|
| 37 | } OVERLAPPED_ENTRY, *LPOVERLAPPED_ENTRY;
|
|---|
| 38 |
|
|---|
| 39 | #ifndef _FILETIME_
|
|---|
| 40 | #define _FILETIME_
|
|---|
| 41 | typedef struct _FILETIME {
|
|---|
| 42 | DWORD dwLowDateTime;
|
|---|
| 43 | DWORD dwHighDateTime;
|
|---|
| 44 | } FILETIME,*PFILETIME,*LPFILETIME;
|
|---|
| 45 | #endif
|
|---|
| 46 |
|
|---|
| 47 | #ifndef _SYSTEMTIME_
|
|---|
| 48 | #define _SYSTEMTIME_
|
|---|
| 49 | typedef struct _SYSTEMTIME {
|
|---|
| 50 | WORD wYear;
|
|---|
| 51 | WORD wMonth;
|
|---|
| 52 | WORD wDayOfWeek;
|
|---|
| 53 | WORD wDay;
|
|---|
| 54 | WORD wHour;
|
|---|
| 55 | WORD wMinute;
|
|---|
| 56 | WORD wSecond;
|
|---|
| 57 | WORD wMilliseconds;
|
|---|
| 58 | } SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
|
|---|
| 59 | #endif
|
|---|
| 60 |
|
|---|
| 61 | typedef struct _WIN32_FIND_DATAA {
|
|---|
| 62 | DWORD dwFileAttributes;
|
|---|
| 63 | FILETIME ftCreationTime;
|
|---|
| 64 | FILETIME ftLastAccessTime;
|
|---|
| 65 | FILETIME ftLastWriteTime;
|
|---|
| 66 | DWORD nFileSizeHigh;
|
|---|
| 67 | DWORD nFileSizeLow;
|
|---|
| 68 | DWORD dwReserved0;
|
|---|
| 69 | DWORD dwReserved1;
|
|---|
| 70 | CHAR cFileName[MAX_PATH];
|
|---|
| 71 | CHAR cAlternateFileName[14];
|
|---|
| 72 | #ifdef _MAC
|
|---|
| 73 | DWORD dwFileType;
|
|---|
| 74 | DWORD dwCreatorType;
|
|---|
| 75 | WORD wFinderFlags;
|
|---|
| 76 | #endif
|
|---|
| 77 | } WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;
|
|---|
| 78 |
|
|---|
| 79 | typedef struct _WIN32_FIND_DATAW {
|
|---|
| 80 | DWORD dwFileAttributes;
|
|---|
| 81 | FILETIME ftCreationTime;
|
|---|
| 82 | FILETIME ftLastAccessTime;
|
|---|
| 83 | FILETIME ftLastWriteTime;
|
|---|
| 84 | DWORD nFileSizeHigh;
|
|---|
| 85 | DWORD nFileSizeLow;
|
|---|
| 86 | DWORD dwReserved0;
|
|---|
| 87 | DWORD dwReserved1;
|
|---|
| 88 | WCHAR cFileName[MAX_PATH];
|
|---|
| 89 | WCHAR cAlternateFileName[14];
|
|---|
| 90 | #ifdef _MAC
|
|---|
| 91 | DWORD dwFileType;
|
|---|
| 92 | DWORD dwCreatorType;
|
|---|
| 93 | WORD wFinderFlags;
|
|---|
| 94 | #endif
|
|---|
| 95 | } WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
|
|---|
| 96 |
|
|---|
| 97 | __MINGW_TYPEDEF_AW(WIN32_FIND_DATA)
|
|---|
| 98 | __MINGW_TYPEDEF_AW(PWIN32_FIND_DATA)
|
|---|
| 99 | __MINGW_TYPEDEF_AW(LPWIN32_FIND_DATA)
|
|---|
| 100 |
|
|---|
| 101 | #if _WIN32_WINNT >= 0x0400
|
|---|
| 102 | typedef enum _FINDEX_INFO_LEVELS {
|
|---|
| 103 | FindExInfoStandard,
|
|---|
| 104 | FindExInfoBasic,
|
|---|
| 105 | FindExInfoMaxInfoLevel
|
|---|
| 106 | } FINDEX_INFO_LEVELS;
|
|---|
| 107 |
|
|---|
| 108 | #define FIND_FIRST_EX_CASE_SENSITIVE 0x00000001
|
|---|
| 109 | #define FIND_FIRST_EX_LARGE_FETCH 0x00000002
|
|---|
| 110 | #if NTDDI_VERSION >= 0x0A000005
|
|---|
| 111 | #define FIND_FIRST_EX_ON_DISK_ENTRIES_ONLY 0x00000004
|
|---|
| 112 | #endif
|
|---|
| 113 |
|
|---|
| 114 | typedef enum _FINDEX_SEARCH_OPS {
|
|---|
| 115 | FindExSearchNameMatch,
|
|---|
| 116 | FindExSearchLimitToDirectories,
|
|---|
| 117 | FindExSearchLimitToDevices,
|
|---|
| 118 | FindExSearchMaxSearchOp
|
|---|
| 119 | } FINDEX_SEARCH_OPS;
|
|---|
| 120 | #endif
|
|---|
| 121 |
|
|---|
| 122 | #if _WIN32_WINNT >= 0x0400
|
|---|
| 123 | #if NTDDI_VERSION >= 0x0A000004
|
|---|
| 124 | typedef enum _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS {
|
|---|
| 125 | ReadDirectoryNotifyInformation = 1,
|
|---|
| 126 | ReadDirectoryNotifyExtendedInformation = 2
|
|---|
| 127 | } READ_DIRECTORY_NOTIFY_INFORMATION_CLASS, *PREAD_DIRECTORY_NOTIFY_INFORMATION_CLASS;
|
|---|
| 128 | #endif
|
|---|
| 129 | #endif
|
|---|
| 130 |
|
|---|
| 131 | typedef enum _GET_FILEEX_INFO_LEVELS {
|
|---|
| 132 | GetFileExInfoStandard,
|
|---|
| 133 | GetFileExMaxInfoLevel
|
|---|
| 134 | } GET_FILEEX_INFO_LEVELS;
|
|---|
| 135 |
|
|---|
| 136 | #if _WIN32_WINNT >= 0x0600
|
|---|
| 137 | typedef enum _FILE_INFO_BY_HANDLE_CLASS {
|
|---|
| 138 | FileBasicInfo /* is zero? */,
|
|---|
| 139 | FileStandardInfo,
|
|---|
| 140 | FileNameInfo,
|
|---|
| 141 | FileRenameInfo,
|
|---|
| 142 | FileDispositionInfo,
|
|---|
| 143 | FileAllocationInfo,
|
|---|
| 144 | FileEndOfFileInfo,
|
|---|
| 145 | FileStreamInfo,
|
|---|
| 146 | FileCompressionInfo,
|
|---|
| 147 | FileAttributeTagInfo,
|
|---|
| 148 | FileIdBothDirectoryInfo,
|
|---|
| 149 | FileIdBothDirectoryRestartInfo,
|
|---|
| 150 | FileIoPriorityHintInfo,
|
|---|
| 151 | FileRemoteProtocolInfo,
|
|---|
| 152 | FileFullDirectoryInfo,
|
|---|
| 153 | FileFullDirectoryRestartInfo,
|
|---|
| 154 | #if _WIN32_WINNT >= 0x0602
|
|---|
| 155 | FileStorageInfo,
|
|---|
| 156 | FileAlignmentInfo,
|
|---|
| 157 | FileIdInfo,
|
|---|
| 158 | FileIdExtdDirectoryInfo,
|
|---|
| 159 | FileIdExtdDirectoryRestartInfo,
|
|---|
| 160 | #endif
|
|---|
| 161 | #if _WIN32_WINNT >= 0x0A000002
|
|---|
| 162 | FileDispositionInfoEx,
|
|---|
| 163 | FileRenameInfoEx,
|
|---|
| 164 | #endif
|
|---|
| 165 | FileCaseSensitiveInfo,
|
|---|
| 166 | FileNormalizedNameInfo,
|
|---|
| 167 | MaximumFileInfoByHandleClass
|
|---|
| 168 | } FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS;
|
|---|
| 169 | #endif
|
|---|
| 170 |
|
|---|
| 171 | typedef RTL_CRITICAL_SECTION CRITICAL_SECTION;
|
|---|
| 172 | typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION;
|
|---|
| 173 | typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION;
|
|---|
| 174 | typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG;
|
|---|
| 175 | typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG;
|
|---|
| 176 | typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG;
|
|---|
| 177 |
|
|---|
| 178 | typedef VOID (WINAPI *LPOVERLAPPED_COMPLETION_ROUTINE) (DWORD dwErrorCode, DWORD dwNumberOfBytesTransfered, LPOVERLAPPED lpOverlapped);
|
|---|
| 179 |
|
|---|
| 180 | #define LOCKFILE_FAIL_IMMEDIATELY 0x1
|
|---|
| 181 | #define LOCKFILE_EXCLUSIVE_LOCK 0x2
|
|---|
| 182 |
|
|---|
| 183 | typedef struct _PROCESS_HEAP_ENTRY {
|
|---|
| 184 | PVOID lpData;
|
|---|
| 185 | DWORD cbData;
|
|---|
| 186 | BYTE cbOverhead;
|
|---|
| 187 | BYTE iRegionIndex;
|
|---|
| 188 | WORD wFlags;
|
|---|
| 189 | __C89_NAMELESS union {
|
|---|
| 190 | struct {
|
|---|
| 191 | HANDLE hMem;
|
|---|
| 192 | DWORD dwReserved[3];
|
|---|
| 193 | } Block;
|
|---|
| 194 | struct {
|
|---|
| 195 | DWORD dwCommittedSize;
|
|---|
| 196 | DWORD dwUnCommittedSize;
|
|---|
| 197 | LPVOID lpFirstBlock;
|
|---|
| 198 | LPVOID lpLastBlock;
|
|---|
| 199 | } Region;
|
|---|
| 200 | } DUMMYUNIONNAME;
|
|---|
| 201 | } PROCESS_HEAP_ENTRY,*LPPROCESS_HEAP_ENTRY,*PPROCESS_HEAP_ENTRY;
|
|---|
| 202 |
|
|---|
| 203 | #define PROCESS_HEAP_REGION 0x1
|
|---|
| 204 | #define PROCESS_HEAP_UNCOMMITTED_RANGE 0x2
|
|---|
| 205 | #define PROCESS_HEAP_ENTRY_BUSY 0x4
|
|---|
| 206 | #define PROCESS_HEAP_SEG_ALLOC 0x8
|
|---|
| 207 | #define PROCESS_HEAP_ENTRY_MOVEABLE 0x10
|
|---|
| 208 | #define PROCESS_HEAP_ENTRY_DDESHARE 0x20
|
|---|
| 209 |
|
|---|
| 210 | typedef struct _REASON_CONTEXT {
|
|---|
| 211 | ULONG Version;
|
|---|
| 212 | DWORD Flags;
|
|---|
| 213 | union {
|
|---|
| 214 | struct {
|
|---|
| 215 | HMODULE LocalizedReasonModule;
|
|---|
| 216 | ULONG LocalizedReasonId;
|
|---|
| 217 | ULONG ReasonStringCount;
|
|---|
| 218 | LPWSTR *ReasonStrings;
|
|---|
| 219 | } Detailed;
|
|---|
| 220 | LPWSTR SimpleReasonString;
|
|---|
| 221 | } Reason;
|
|---|
| 222 | } REASON_CONTEXT, *PREASON_CONTEXT;
|
|---|
| 223 |
|
|---|
| 224 | #define EXCEPTION_DEBUG_EVENT 1
|
|---|
| 225 | #define CREATE_THREAD_DEBUG_EVENT 2
|
|---|
| 226 | #define CREATE_PROCESS_DEBUG_EVENT 3
|
|---|
| 227 | #define EXIT_THREAD_DEBUG_EVENT 4
|
|---|
| 228 | #define EXIT_PROCESS_DEBUG_EVENT 5
|
|---|
| 229 | #define LOAD_DLL_DEBUG_EVENT 6
|
|---|
| 230 | #define UNLOAD_DLL_DEBUG_EVENT 7
|
|---|
| 231 | #define OUTPUT_DEBUG_STRING_EVENT 8
|
|---|
| 232 | #define RIP_EVENT 9
|
|---|
| 233 |
|
|---|
| 234 | typedef DWORD (WINAPI *PTHREAD_START_ROUTINE) (LPVOID lpThreadParameter);
|
|---|
| 235 | typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
|
|---|
| 236 |
|
|---|
| 237 | typedef LPVOID (WINAPI *PENCLAVE_ROUTINE) (LPVOID lpThreadParameter);
|
|---|
| 238 | typedef PENCLAVE_ROUTINE LPENCLAVE_ROUTINE;
|
|---|
| 239 |
|
|---|
| 240 | typedef struct _EXCEPTION_DEBUG_INFO {
|
|---|
| 241 | EXCEPTION_RECORD ExceptionRecord;
|
|---|
| 242 | DWORD dwFirstChance;
|
|---|
| 243 | } EXCEPTION_DEBUG_INFO, *LPEXCEPTION_DEBUG_INFO;
|
|---|
| 244 |
|
|---|
| 245 | typedef struct _CREATE_THREAD_DEBUG_INFO {
|
|---|
| 246 | HANDLE hThread;
|
|---|
| 247 | LPVOID lpThreadLocalBase;
|
|---|
| 248 | LPTHREAD_START_ROUTINE lpStartAddress;
|
|---|
| 249 | } CREATE_THREAD_DEBUG_INFO, *LPCREATE_THREAD_DEBUG_INFO;
|
|---|
| 250 |
|
|---|
| 251 | typedef struct _CREATE_PROCESS_DEBUG_INFO {
|
|---|
| 252 | HANDLE hFile;
|
|---|
| 253 | HANDLE hProcess;
|
|---|
| 254 | HANDLE hThread;
|
|---|
| 255 | LPVOID lpBaseOfImage;
|
|---|
| 256 | DWORD dwDebugInfoFileOffset;
|
|---|
| 257 | DWORD nDebugInfoSize;
|
|---|
| 258 | LPVOID lpThreadLocalBase;
|
|---|
| 259 | LPTHREAD_START_ROUTINE lpStartAddress;
|
|---|
| 260 | LPVOID lpImageName;
|
|---|
| 261 | WORD fUnicode;
|
|---|
| 262 | } CREATE_PROCESS_DEBUG_INFO, *LPCREATE_PROCESS_DEBUG_INFO;
|
|---|
| 263 |
|
|---|
| 264 | typedef struct _EXIT_THREAD_DEBUG_INFO {
|
|---|
| 265 | DWORD dwExitCode;
|
|---|
| 266 | } EXIT_THREAD_DEBUG_INFO, *LPEXIT_THREAD_DEBUG_INFO;
|
|---|
| 267 |
|
|---|
| 268 | typedef struct _EXIT_PROCESS_DEBUG_INFO {
|
|---|
| 269 | DWORD dwExitCode;
|
|---|
| 270 | } EXIT_PROCESS_DEBUG_INFO, *LPEXIT_PROCESS_DEBUG_INFO;
|
|---|
| 271 |
|
|---|
| 272 | typedef struct _LOAD_DLL_DEBUG_INFO {
|
|---|
| 273 | HANDLE hFile;
|
|---|
| 274 | LPVOID lpBaseOfDll;
|
|---|
| 275 | DWORD dwDebugInfoFileOffset;
|
|---|
| 276 | DWORD nDebugInfoSize;
|
|---|
| 277 | LPVOID lpImageName;
|
|---|
| 278 | WORD fUnicode;
|
|---|
| 279 | } LOAD_DLL_DEBUG_INFO, *LPLOAD_DLL_DEBUG_INFO;
|
|---|
| 280 |
|
|---|
| 281 | typedef struct _UNLOAD_DLL_DEBUG_INFO {
|
|---|
| 282 | LPVOID lpBaseOfDll;
|
|---|
| 283 | } UNLOAD_DLL_DEBUG_INFO, *LPUNLOAD_DLL_DEBUG_INFO;
|
|---|
| 284 |
|
|---|
| 285 | typedef struct _OUTPUT_DEBUG_STRING_INFO {
|
|---|
| 286 | LPSTR lpDebugStringData;
|
|---|
| 287 | WORD fUnicode;
|
|---|
| 288 | WORD nDebugStringLength;
|
|---|
| 289 | } OUTPUT_DEBUG_STRING_INFO, *LPOUTPUT_DEBUG_STRING_INFO;
|
|---|
| 290 |
|
|---|
| 291 | typedef struct _RIP_INFO {
|
|---|
| 292 | DWORD dwError;
|
|---|
| 293 | DWORD dwType;
|
|---|
| 294 | } RIP_INFO, *LPRIP_INFO;
|
|---|
| 295 |
|
|---|
| 296 | typedef struct _DEBUG_EVENT {
|
|---|
| 297 | DWORD dwDebugEventCode;
|
|---|
| 298 | DWORD dwProcessId;
|
|---|
| 299 | DWORD dwThreadId;
|
|---|
| 300 | union {
|
|---|
| 301 | EXCEPTION_DEBUG_INFO Exception;
|
|---|
| 302 | CREATE_THREAD_DEBUG_INFO CreateThread;
|
|---|
| 303 | CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
|
|---|
| 304 | EXIT_THREAD_DEBUG_INFO ExitThread;
|
|---|
| 305 | EXIT_PROCESS_DEBUG_INFO ExitProcess;
|
|---|
| 306 | LOAD_DLL_DEBUG_INFO LoadDll;
|
|---|
| 307 | UNLOAD_DLL_DEBUG_INFO UnloadDll;
|
|---|
| 308 | OUTPUT_DEBUG_STRING_INFO DebugString;
|
|---|
| 309 | RIP_INFO RipInfo;
|
|---|
| 310 | } u;
|
|---|
| 311 | } DEBUG_EVENT, *LPDEBUG_EVENT;
|
|---|
| 312 |
|
|---|
| 313 | #ifndef __WIDL__
|
|---|
| 314 | typedef PCONTEXT LPCONTEXT;
|
|---|
| 315 | #endif
|
|---|
| 316 |
|
|---|
| 317 | #define STILL_ACTIVE STATUS_PENDING
|
|---|
| 318 | #define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION
|
|---|
| 319 | #define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT
|
|---|
| 320 | #define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT
|
|---|
| 321 | #define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP
|
|---|
| 322 | #define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED
|
|---|
| 323 | #define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND
|
|---|
| 324 | #define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO
|
|---|
| 325 | #define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT
|
|---|
| 326 | #define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION
|
|---|
| 327 | #define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW
|
|---|
| 328 | #define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK
|
|---|
| 329 | #define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW
|
|---|
| 330 | #define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO
|
|---|
| 331 | #define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW
|
|---|
| 332 | #define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION
|
|---|
| 333 | #define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR
|
|---|
| 334 | #define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION
|
|---|
| 335 | #define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION
|
|---|
| 336 | #define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW
|
|---|
| 337 | #define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION
|
|---|
| 338 | #define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION
|
|---|
| 339 | #define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE
|
|---|
| 340 | #define EXCEPTION_POSSIBLE_DEADLOCK STATUS_POSSIBLE_DEADLOCK
|
|---|
| 341 | #define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT
|
|---|
| 342 |
|
|---|
| 343 | #define LMEM_FIXED 0x0
|
|---|
| 344 | #define LMEM_MOVEABLE 0x2
|
|---|
| 345 | #define LMEM_NOCOMPACT 0x10
|
|---|
| 346 | #define LMEM_NODISCARD 0x20
|
|---|
| 347 | #define LMEM_ZEROINIT 0x40
|
|---|
| 348 | #define LMEM_MODIFY 0x80
|
|---|
| 349 | #define LMEM_DISCARDABLE 0xf00
|
|---|
| 350 | #define LMEM_VALID_FLAGS 0xf72
|
|---|
| 351 | #define LMEM_INVALID_HANDLE 0x8000
|
|---|
| 352 |
|
|---|
| 353 | #define LHND (LMEM_MOVEABLE | LMEM_ZEROINIT)
|
|---|
| 354 | #define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
|
|---|
| 355 |
|
|---|
| 356 | #define NONZEROLHND (LMEM_MOVEABLE)
|
|---|
| 357 | #define NONZEROLPTR (LMEM_FIXED)
|
|---|
| 358 |
|
|---|
| 359 | #define LocalDiscard(h) LocalReAlloc ((h), 0, LMEM_MOVEABLE)
|
|---|
| 360 |
|
|---|
| 361 | #define LMEM_DISCARDED 0x4000
|
|---|
| 362 | #define LMEM_LOCKCOUNT 0xff
|
|---|
| 363 |
|
|---|
| 364 | #define NUMA_NO_PREFERRED_NODE ((DWORD) -1)
|
|---|
| 365 |
|
|---|
| 366 | #ifdef __cplusplus
|
|---|
| 367 | }
|
|---|
| 368 | #endif
|
|---|
| 369 | #endif
|
|---|