"""Auto-generated Python stub file"""

import c

import t
from stdint import *
from w32.win32base import *
MEM_COMMIT: t.CDefine
MEM_RESERVE: t.CDefine
MEM_DECOMMIT: t.CDefine
MEM_RELEASE: t.CDefine
MEM_FREE: t.CDefine
MEM_RESET: t.CDefine
MEM_TOP_DOWN: t.CDefine
MEM_WRITE_WATCH: t.CDefine
MEM_PHYSICAL: t.CDefine
MEM_LARGE_PAGES: t.CDefine
PAGE_NOACCESS: t.CDefine
PAGE_READONLY: t.CDefine
PAGE_READWRITE: t.CDefine
PAGE_WRITECOPY: t.CDefine
PAGE_EXECUTE: t.CDefine
PAGE_EXECUTE_READ: t.CDefine
PAGE_EXECUTE_READWRITE: t.CDefine
PAGE_EXECUTE_WRITECOPY: t.CDefine
PAGE_GUARD: t.CDefine
PAGE_NOCACHE: t.CDefine
PAGE_WRITECOMBINE: t.CDefine
HEAP_NO_SERIALIZE: t.CDefine
HEAP_GROWABLE: t.CDefine
HEAP_GENERATE_EXCEPTIONS: t.CDefine
HEAP_ZERO_MEMORY: t.CDefine
HEAP_REALLOC_IN_PLACE_ONLY: t.CDefine
class MEMORY_BASIC_INFORMATION:
    BaseAddress: VOIDPTR
    AllocationBase: VOIDPTR
    AllocationProtect: ULONG
    RegionSize: t.CSizeT
    State: ULONG
    Protect: ULONG
    Type: ULONG

def VirtualAlloc(lpAddress: VOIDPTR, dwSize: t.CSizeT, flAllocationType: ULONG, flProtect: ULONG) -> VOIDPTR | t.State: pass

def VirtualFree(lpAddress: VOIDPTR, dwSize: t.CSizeT, dwFreeType: ULONG) -> BOOL | t.State: pass

def VirtualProtect(lpAddress: VOIDPTR, dwSize: t.CSizeT, flNewProtect: ULONG, lpflOldProtect: ULONG | t.CPtr) -> BOOL | t.State: pass

def VirtualQuery(lpAddress: t.CConst | VOIDPTR, lpBuffer: MEMORY_BASIC_INFORMATION | t.CPtr, dwLength: t.CSizeT) -> t.CSizeT | t.State: pass

def VirtualLock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass

def VirtualUnlock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass

def GetProcessHeap() -> HANDLE | t.State: pass

def HeapCreate(flOptions: ULONG, dwInitialSize: t.CSizeT, dwMaximumSize: t.CSizeT) -> HANDLE | t.State: pass

def HeapDestroy(hHeap: HANDLE) -> BOOL | t.State: pass

def HeapAlloc(hHeap: HANDLE, dwFlags: ULONG, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass

def HeapReAlloc(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass

def HeapFree(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR) -> BOOL | t.State: pass

def HeapSize(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> t.CSizeT | t.State: pass

def HeapValidate(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> BOOL | t.State: pass

def HeapCompact(hHeap: HANDLE, dwFlags: ULONG) -> t.CSizeT | t.State: pass

def GlobalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass

def GlobalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass

def GlobalLock(hMem: VOIDPTR) -> VOIDPTR | t.State: pass

def GlobalUnlock(hMem: VOIDPTR) -> BOOL | t.State: pass

def GlobalSize(hMem: VOIDPTR) -> t.CSizeT | t.State: pass

def LocalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass

def LocalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass

