Copyright | (c) Esa Ilari Vuokko 2006 |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Esa Ilari Vuokko <ei@vuokko.info> |
Stability | provisional |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
System.Win32.FileMapping
Description
A collection of FFI declarations for interfacing with Win32 mapped files.
Synopsis
- mapFile :: FilePath -> IO (ForeignPtr a, Int)
- data MappedObject = MappedObject HANDLE HANDLE FileMapAccess
- withMappedFile :: FilePath -> Bool -> Maybe Bool -> (Integer -> MappedObject -> IO a) -> IO a
- withMappedArea :: MappedObject -> Integer -> Int -> (Ptr a -> IO b) -> IO b
- type ProtectSectionFlags = DWORD
- sEC_COMMIT :: ProtectSectionFlags
- sEC_IMAGE :: ProtectSectionFlags
- sEC_NOCACHE :: ProtectSectionFlags
- sEC_RESERVE :: ProtectSectionFlags
- type FileMapAccess = DWORD
- fILE_MAP_ALL_ACCESS :: FileMapAccess
- fILE_MAP_COPY :: FileMapAccess
- fILE_MAP_READ :: FileMapAccess
- fILE_MAP_WRITE :: FileMapAccess
- fILE_SHARE_WRITE :: ShareMode
- createFileMapping :: Maybe HANDLE -> ProtectFlags -> DDWORD -> Maybe String -> IO HANDLE
- openFileMapping :: FileMapAccess -> BOOL -> Maybe String -> IO HANDLE
- mapViewOfFileEx :: HANDLE -> FileMapAccess -> DDWORD -> SIZE_T -> Ptr a -> IO (Ptr b)
- mapViewOfFile :: HANDLE -> FileMapAccess -> DDWORD -> SIZE_T -> IO (Ptr a)
- unmapViewOfFile :: Ptr a -> IO ()
Documentation
mapFile :: FilePath -> IO (ForeignPtr a, Int) Source #
Maps file fully and returns ForeignPtr and length of the mapped area. The mapped file is opened read-only and shared reading.
data MappedObject Source #
Constructors
Arguments
Path
Write? (False = read-only)
Sharing mode, no sharing, share read, share read+write
Action
Opens an existing file and creates mapping object to it.
Arguments
Mapped object, from withMappedFile
Position in file
Size of mapped area
Action
Maps area into memory.
Enums
Section protection flags
type ProtectSectionFlags = DWORD Source #
Access falgs
type FileMapAccess = DWORD Source #
Mapping files
createFileMapping :: Maybe HANDLE -> ProtectFlags -> DDWORD -> Maybe String -> IO HANDLE Source #
openFileMapping :: FileMapAccess -> BOOL -> Maybe String -> IO HANDLE Source #
mapViewOfFileEx :: HANDLE -> FileMapAccess -> DDWORD -> SIZE_T -> Ptr a -> IO (Ptr b) Source #
mapViewOfFile :: HANDLE -> FileMapAccess -> DDWORD -> SIZE_T -> IO (Ptr a) Source #
unmapViewOfFile :: Ptr a -> IO () Source #