System.Win32.Mem

Win32-2.5.4.1: A binding to part of the Win32 library

Copyright | (c) Alastair Reid 1997-2003
License | BSD-style (see the file libraries/base/LICENSE)
Maintainer | Esa Ilari Vuokko <ei@vuokko.info>
Stability | provisional
Portability | portable
Safe Haskell | Safe
Language | Haskell98

System.Win32.Mem (signature[?])

Description

A collection of FFI declarations for interfacing with Win32.

# Documentation

data MEMORY_BASIC_INFORMATION Source #

Constructors

MEMORY_BASIC_INFORMATION |
Fields mbiBaseAddress :: Addr mbiAllocationBase :: Addr mbiAllocationProtect :: DWORD mbiRegionSize :: SIZE_T mbiState :: DWORD mbiProtect :: DWORD mbiType :: DWORD

Instances

Show MEMORY_BASIC_INFORMATION # |
Methods showsPrec :: Int -> MEMORY_BASIC_INFORMATION -> ShowS Source # show :: MEMORY_BASIC_INFORMATION -> String Source # showList :: [MEMORY_BASIC_INFORMATION] -> ShowS Source #
Storable MEMORY_BASIC_INFORMATION # |
Methods sizeOf :: MEMORY_BASIC_INFORMATION -> Int Source # alignment :: MEMORY_BASIC_INFORMATION -> Int Source # peekElemOff :: Ptr MEMORY_BASIC_INFORMATION -> Int -> IO MEMORY_BASIC_INFORMATION Source # pokeElemOff :: Ptr MEMORY_BASIC_INFORMATION -> Int -> MEMORY_BASIC_INFORMATION -> IO () Source # peekByteOff :: Ptr b -> Int -> IO MEMORY_BASIC_INFORMATION Source # pokeByteOff :: Ptr b -> Int -> MEMORY_BASIC_INFORMATION -> IO () Source # peek :: Ptr MEMORY_BASIC_INFORMATION -> IO MEMORY_BASIC_INFORMATION Source # poke :: Ptr MEMORY_BASIC_INFORMATION -> MEMORY_BASIC_INFORMATION -> IO () Source #

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 #

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 #

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

gMEM_NODISCARD :: GlobalAllocFlags Source #

gMEM_NOT_BANKED :: GlobalAllocFlags Source #

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

gMEM_NOTIFY :: GlobalAllocFlags Source #

gMEM_ZEROINIT :: GlobalAllocFlags Source #

globalFlags :: HGLOBAL -> IO GlobalAllocFlags Source #

c_GlobalFlags :: HGLOBAL -> IO GlobalAllocFlags Source #

globalFree :: HGLOBAL -> IO HGLOBAL Source #

c_GlobalFree :: HGLOBAL -> IO HGLOBAL Source #

globalHandle :: Addr -> IO HGLOBAL Source #

c_GlobalHandle :: Addr -> IO HGLOBAL Source #

globalLock :: HGLOBAL -> IO Addr Source #

c_GlobalLock :: HGLOBAL -> IO Addr Source #

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

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

globalSize :: HGLOBAL -> IO DWORD Source #

c_GlobalSize :: HGLOBAL -> IO DWORD Source #

globalUnlock :: HGLOBAL -> IO () Source #

c_GlobalUnlock :: HGLOBAL -> IO Bool Source #

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 #

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

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

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

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

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

heapDestroy :: HANDLE -> IO () Source #

c_HeapDestroy :: HANDLE -> IO Bool Source #

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

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

heapLock :: HANDLE -> IO () Source #

c_HeapLock :: HANDLE -> IO Bool Source #

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

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

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

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

heapUnlock :: HANDLE -> IO () Source #

c_HeapUnlock :: HANDLE -> IO Bool Source #

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

type VirtualAllocFlags = DWORD Source #

mEM_COMMIT :: VirtualAllocFlags Source #

mEM_RESERVE :: VirtualAllocFlags 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 #

type FreeFlags = DWORD Source #

pAGE_NOACCESS :: ProtectFlags Source #

mEM_DECOMMIT :: FreeFlags Source #

pAGE_NOCACHE :: ProtectFlags Source #

mEM_RELEASE :: FreeFlags Source #

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

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

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

c_VirtualFree :: Addr -> DWORD -> FreeFlags -> IO Bool Source #

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

c_VirtualLock :: Addr -> DWORD -> IO Bool Source #

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

c_VirtualProtect :: Addr -> DWORD -> DWORD -> Ptr DWORD -> IO Bool Source #

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

c_VirtualProtectEx :: HANDLE -> Addr -> DWORD -> DWORD -> Ptr DWORD -> IO Bool Source #

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

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

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

c_VirtualUnlock :: Addr -> DWORD -> IO Bool Source #