import t from stdint import * from w32.win32base import * MEM_COMMIT: t.CDefine = 0x00001000 MEM_RESERVE: t.CDefine = 0x00002000 MEM_DECOMMIT: t.CDefine = 0x00004000 MEM_RELEASE: t.CDefine = 0x00008000 MEM_FREE: t.CDefine = 0x00010000 MEM_RESET: t.CDefine = 0x00080000 MEM_TOP_DOWN: t.CDefine = 0x00100000 MEM_WRITE_WATCH: t.CDefine = 0x00200000 MEM_PHYSICAL: t.CDefine = 0x00400000 MEM_LARGE_PAGES: t.CDefine = 0x20000000 PAGE_NOACCESS: t.CDefine = 0x01 PAGE_READONLY: t.CDefine = 0x02 PAGE_READWRITE: t.CDefine = 0x04 PAGE_WRITECOPY: t.CDefine = 0x08 PAGE_EXECUTE: t.CDefine = 0x10 PAGE_EXECUTE_READ: t.CDefine = 0x20 PAGE_EXECUTE_READWRITE: t.CDefine = 0x40 PAGE_EXECUTE_WRITECOPY: t.CDefine = 0x80 PAGE_GUARD: t.CDefine = 0x100 PAGE_NOCACHE: t.CDefine = 0x200 PAGE_WRITECOMBINE: t.CDefine = 0x400 HEAP_NO_SERIALIZE: t.CDefine = 0x00000001 HEAP_GROWABLE: t.CDefine = 0x00000002 HEAP_GENERATE_EXCEPTIONS: t.CDefine = 0x00000004 HEAP_ZERO_MEMORY: t.CDefine = 0x00000008 HEAP_REALLOC_IN_PLACE_ONLY: t.CDefine = 0x00000010 class MEMORY_BASIC_INFORMATION(): BaseAddress: VOIDPTR AllocationBase: VOIDPTR AllocationProtect: DWORD RegionSize: t.CSizeT State: DWORD Protect: DWORD Type: DWORD extern def VirtualAlloc(lpAddress: VOIDPTR, dwSize: t.CSizeT, flAllocationType: ULONG, flProtect: ULONG) -> VOIDPTR extern def VirtualFree(lpAddress: VOIDPTR, dwSize: t.CSizeT, dwFreeType: ULONG) -> BOOL extern def VirtualProtect(lpAddress: VOIDPTR, dwSize: t.CSizeT, flNewProtect: ULONG, lpflOldProtect: ULONG | t.CPtr) -> BOOL extern def VirtualQuery(lpAddress: t.CConst | VOIDPTR, lpBuffer: MEMORY_BASIC_INFORMATION | t.CPtr, dwLength: t.CSizeT) -> t.CSizeT extern def VirtualLock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL extern def VirtualUnlock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL extern def GetProcessHeap() -> HANDLE extern def HeapCreate(flOptions: ULONG, dwInitialSize: t.CSizeT, dwMaximumSize: t.CSizeT) -> HANDLE extern def HeapDestroy(hHeap: HANDLE) -> BOOL extern def HeapAlloc(hHeap: HANDLE, dwFlags: ULONG, dwBytes: t.CSizeT) -> VOIDPTR extern def HeapReAlloc(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR, dwBytes: t.CSizeT) -> VOIDPTR extern def HeapFree(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR) -> BOOL extern def HeapSize(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> t.CSizeT extern def HeapValidate(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> BOOL extern def HeapCompact(hHeap: HANDLE, dwFlags: ULONG) -> t.CSizeT extern def GlobalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR extern def GlobalFree(hMem: VOIDPTR) -> VOIDPTR extern def GlobalLock(hMem: VOIDPTR) -> VOIDPTR extern def GlobalUnlock(hMem: VOIDPTR) -> BOOL extern def GlobalSize(hMem: VOIDPTR) -> t.CSizeT extern def LocalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR extern def LocalFree(hMem: VOIDPTR) -> VOIDPTR