Win32-2.14.1.0: A binding to Windows Win32 API.
Copyright(c) Alastair Reid 1997-2003
LicenseBSD-style (see the file libraries/base/LICENSE)
MaintainerEsa Ilari Vuokko <ei@vuokko.info>
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

System.Win32.Mem

Description

A collection of FFI declarations for interfacing with Win32.

Synopsis

Documentation

data MEMORY_BASIC_INFORMATION Source #

Constructors

Instances

Instances details
Instance details

Defined in System.Win32.Mem

copyMemory :: Ptr a -> Ptr a -> DWORD -> IO () Source #

moveMemory :: Ptr a -> Ptr a -> DWORD -> IO () Source #

fillMemory :: Ptr a -> DWORD -> BYTE -> IO () Source #

zeroMemory :: Ptr a -> DWORD -> IO () Source #

memset :: Ptr a -> CInt -> CSize -> IO () Source #

getProcessHeap :: IO HANDLE Source #

getProcessHeaps :: DWORD -> Addr -> IO DWORD Source #

type HGLOBAL = Addr Source #

Global allocation

type GlobalAllocFlags = UINT Source #

gMEM_INVALID_HANDLE :: GlobalAllocFlags Source #

gMEM_FIXED :: GlobalAllocFlags Source #

gMEM_MOVEABLE :: GlobalAllocFlags Source #

gPTR :: GlobalAllocFlags Source #

gHND :: GlobalAllocFlags Source #

gMEM_DDESHARE :: GlobalAllocFlags Source #

gMEM_SHARE :: GlobalAllocFlags Source #

gMEM_LOWER :: GlobalAllocFlags Source #

gMEM_NOCOMPACT :: GlobalAllocFlags Source #

gMEM_NODISCARD :: GlobalAllocFlags Source #

gMEM_NOT_BANKED :: GlobalAllocFlags Source #

gMEM_NOTIFY :: GlobalAllocFlags Source #

gMEM_ZEROINIT :: GlobalAllocFlags Source #

globalAlloc :: GlobalAllocFlags -> DWORD -> IO HGLOBAL Source #

globalFlags :: HGLOBAL -> IO GlobalAllocFlags Source #

globalFree :: HGLOBAL -> IO HGLOBAL Source #

globalHandle :: Addr -> IO HGLOBAL Source #

globalLock :: HGLOBAL -> IO Addr Source #

globalReAlloc :: HGLOBAL -> DWORD -> GlobalAllocFlags -> IO HGLOBAL Source #

globalSize :: HGLOBAL -> IO DWORD Source #

globalUnlock :: HGLOBAL -> IO () Source #

Heap allocation

type HeapAllocFlags = DWORD Source #

hEAP_GENERATE_EXCEPTIONS :: HeapAllocFlags Source #

hEAP_NO_SERIALIZE :: HeapAllocFlags Source #

hEAP_ZERO_MEMORY :: HeapAllocFlags Source #

heapAlloc :: HANDLE -> HeapAllocFlags -> DWORD -> IO Addr Source #

heapCompact :: HANDLE -> HeapAllocFlags -> IO UINT Source #

heapCreate :: HeapAllocFlags -> DWORD -> DWORD -> IO HANDLE Source #

heapDestroy :: HANDLE -> IO () Source #

heapFree :: HANDLE -> HeapAllocFlags -> Addr -> IO () Source #

heapLock :: HANDLE -> IO () Source #

heapReAlloc :: HANDLE -> HeapAllocFlags -> Addr -> DWORD -> IO Addr Source #

heapSize :: HANDLE -> HeapAllocFlags -> Addr -> IO DWORD Source #

heapUnlock :: HANDLE -> IO () Source #

heapValidate :: HANDLE -> HeapAllocFlags -> Addr -> IO Bool Source #

Virtual allocation

Allocation

virtualAlloc :: Addr -> DWORD -> VirtualAllocFlags -> ProtectFlags -> IO Addr Source #

virtualAllocEx :: HANDLE -> Addr -> DWORD -> VirtualAllocFlags -> ProtectFlags -> IO Addr Source #

type VirtualAllocFlags = DWORD Source #

mEM_COMMIT :: VirtualAllocFlags Source #

mEM_RESERVE :: VirtualAllocFlags Source #

Locking

virtualLock :: Addr -> DWORD -> IO () Source #

virtualUnlock :: Addr -> DWORD -> IO () Source #

Protection

virtualProtect :: Addr -> DWORD -> ProtectFlags -> IO ProtectFlags Source #

virtualProtectEx :: HANDLE -> Addr -> DWORD -> ProtectFlags -> IO ProtectFlags Source #

virtualQueryEx :: HANDLE -> LPVOID -> Ptr MEMORY_BASIC_INFORMATION -> SIZE_T -> IO DWORD Source #

type ProtectFlags = DWORD Source #

pAGE_READONLY :: ProtectFlags Source #

pAGE_READWRITE :: ProtectFlags Source #

pAGE_EXECUTE :: ProtectFlags Source #

pAGE_EXECUTE_READ :: ProtectFlags Source #

pAGE_EXECUTE_READWRITE :: ProtectFlags Source #

pAGE_GUARD :: ProtectFlags Source #

pAGE_NOACCESS :: ProtectFlags Source #

pAGE_NOCACHE :: ProtectFlags Source #

Freeing

virtualFree :: Addr -> DWORD -> FreeFlags -> IO () Source #

virtualFreeEx :: HANDLE -> Addr -> DWORD -> FreeFlags -> IO () Source #

type FreeFlags = DWORD Source #

mEM_DECOMMIT :: FreeFlags Source #

mEM_RELEASE :: FreeFlags Source #

AltStyle によって変換されたページ (->オリジナル) /