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

Copyright(c) Esa Ilari Vuokko, 2006
LicenseBSD-style (see the file LICENSE)
MaintainerEsa Ilari Vuokko <ei@vuokko.info>
Stabilityprovisional
Portabilityportable
Safe HaskellTrustworthy
LanguageHaskell98

System.Win32.FileMapping

Description

A collection of FFI declarations for interfacing with Win32 mapped files.

Synopsis

Documentation

mapFile :: FilePath -> IO (ForeignPtr a, Int)

Maps file fully and returns ForeignPtr and length of the mapped area. The mapped file is opened read-only and shared reading.

mapFileBs :: FilePath -> IO ByteString

As mapFile, but returns ByteString

withMappedFile

Arguments

:: FilePath

Path

-> Bool

Write? (False = read-only)

-> Maybe Bool

Sharing mode, no sharing, share read, share read+write

-> (Integer -> MappedObject -> IO a)

Action

-> IO a 

Opens an existing file and creates mapping object to it.

withMappedArea

Arguments

:: MappedObject

Mapped object, from withMappedFile

-> Integer

Position in file

-> Int

Size of mapped area

-> (Ptr a -> IO b)

Action

-> IO b 

Maps area into memory.

c_MapViewOfFileEx :: HANDLE -> DWORD -> DWORD -> DWORD -> SIZE_T -> Ptr a -> IO (Ptr b)