System.Win32.FileMapping
| 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 | Trustworthy |
| Language | Haskell98 |
Описание
Коллекция объявлений FFI для взаимодействия с отображаемыми файлами Win32.
mapFile :: FilePath -> IO (ForeignPtr a, Int) Source
Полностью отображает файл и возвращает ForeignPtr и длину отображаемой области. Отображаемый файл открывается только для чтения и общего чтения.
mapFileBs :: FilePath -> IO ByteString Source
Как mapFile, но возвращает ByteString
data MappedObject Source
Конструкторы
| MappedObject HANDLE HANDLE FileMapAccess |
Аргументы
| :: FilePath | Путь |
| -> Bool | Запись? (False = только для чтения) |
| -> Maybe Bool | Режим общего доступа, без общего доступа, общий доступ для чтения, общий доступ для чтения и записи |
| -> (Integer -> MappedObject -> IO a) | Действие |
| -> IO a |
Открывает существующий файл и создает для него объект отображения.
Аргументы
| :: MappedObject | Объект отображения, из withMappedFile |
| -> Integer | Позиция в файле |
| -> Int | Размер отображаемой области |
| -> (Ptr a -> IO b) | Действие |
| -> IO b |
Отображает область в память.
type ProtectSectionFlags = DWORD Source
sEC_COMMIT :: ProtectSectionFlags Source
sEC_IMAGE :: ProtectSectionFlags Source
sEC_NOCACHE :: ProtectSectionFlags Source
type FileMapAccess = DWORD Source
sEC_RESERVE :: ProtectSectionFlags Source
fILE_MAP_ALL_ACCESS :: FileMapAccess Source
fILE_MAP_COPY :: FileMapAccess Source
fILE_MAP_READ :: FileMapAccess Source
fILE_MAP_WRITE :: FileMapAccess Source
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
c_OpenFileMapping :: DWORD -> BOOL -> LPCTSTR -> IO HANDLE Source
c_CreateFileMapping :: HANDLE -> Ptr () -> DWORD -> DWORD -> DWORD -> LPCTSTR -> IO HANDLE Source
c_MapViewOfFileEx :: HANDLE -> DWORD -> DWORD -> DWORD -> SIZE_T -> Ptr a -> IO (Ptr b) Источник
c_UnmapViewOfFile :: Ptr a -> IO BOOL Источник
c_UnmapViewOfFileFinaliser :: FunPtr (Ptr a -> IO ()) Источник
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/Win32-2.3.1.0/System-Win32-FileMapping.html