| 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
Opens an existing file and creates mapping object to it.
Arguments
Mapped object, from withMappedFile
Position in file
Size of mapped area
Maps area into memory.
Enums
Section protection flags
type ProtectSectionFlags = DWORD Source #
Access falgs
type FileMapAccess = DWORD Source #
Mapping files
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 #