Win32-2.14.1.0: A binding to Windows Win32 API.
Copyright(c) Alastair Reid 1997-2003
LicenseBSD-style (see the file libraries/base/LICENSE)
MaintainerEsa Ilari Vuokko <ei@vuokko.info>
Stabilityprovisional
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

System.Win32.WindowsString.File

Description

A collection of FFI declarations for interfacing with Win32.

Synopsis

Documentation

deleteFile :: WindowsString -> IO () Source #

copyFile :: WindowsString -> WindowsString -> Bool -> IO () Source #

moveFile :: WindowsString -> WindowsString -> IO () Source #

moveFileEx :: WindowsString -> Maybe WindowsString -> MoveFileFlag -> IO () Source #

setCurrentDirectory :: WindowsString -> IO () Source #

createDirectory :: WindowsString -> Maybe LPSECURITY_ATTRIBUTES -> IO () Source #

createDirectoryEx :: WindowsString -> WindowsString -> Maybe LPSECURITY_ATTRIBUTES -> IO () Source #

removeDirectory :: WindowsString -> IO () Source #

getBinaryType :: WindowsString -> IO BinaryType Source #

createFile :: WindowsString -> AccessMode -> ShareMode -> Maybe LPSECURITY_ATTRIBUTES -> CreateMode -> FileAttributeOrFlag -> Maybe HANDLE -> IO HANDLE Source #

setFileAttributes :: WindowsString -> FileAttributeOrFlag -> IO () Source #

getFileAttributes :: WindowsString -> IO FileAttributeOrFlag Source #

getFileAttributesExStandard :: WindowsString -> IO WIN32_FILE_ATTRIBUTE_DATA Source #

getTempFileName Source #

Arguments

:: WindowsString

directory for the temporary file (must be at most MAX_PATH - 14 characters long)

-> WindowsString

prefix for the temporary file name

-> Maybe UINT

if Nothing, a unique name is generated otherwise a non-zero value is used as the unique part

-> IO (WindowsString, UINT)

Get a unique temporary filename.

Calls GetTempFileNameW.

findFirstChangeNotification :: WindowsString -> Bool -> FileNotificationFlag -> IO HANDLE Source #

getFindDataFileName :: FindData -> IO WindowsString Source #

findFirstFile :: WindowsString -> IO (HANDLE, FindData) Source #

defineDosDevice :: DefineDosDeviceFlags -> WindowsString -> Maybe WindowsString -> IO () Source #

getDiskFreeSpace :: Maybe WindowsString -> IO (DWORD, DWORD, DWORD, DWORD) Source #

setVolumeLabel :: Maybe WindowsString -> Maybe WindowsString -> IO () Source #

getFileExInfoStandard :: GET_FILEEX_INFO_LEVELS Source #

getFileExMaxInfoLevel :: GET_FILEEX_INFO_LEVELS Source #

data FindData Source #

type MbLPOVERLAPPED = Maybe LPOVERLAPPED Source #

type LPOVERLAPPED = Ptr OVERLAPPED Source #

data OVERLAPPED Source #

Constructors

Instances

Instances details
Instance details

Defined in System.Win32.File.Internal

Methods

showsPrec :: Int -> OVERLAPPED -> ShowS

show :: OVERLAPPED -> String

showList :: [OVERLAPPED] -> ShowS

Storable OVERLAPPED Source #
Instance details

Defined in System.Win32.File.Internal

Methods

sizeOf :: OVERLAPPED -> Int

alignment :: OVERLAPPED -> Int

peekElemOff :: Ptr OVERLAPPED -> Int -> IO OVERLAPPED

pokeElemOff :: Ptr OVERLAPPED -> Int -> OVERLAPPED -> IO ()

peekByteOff :: Ptr b -> Int -> IO OVERLAPPED

pokeByteOff :: Ptr b -> Int -> OVERLAPPED -> IO ()

peek :: Ptr OVERLAPPED -> IO OVERLAPPED

poke :: Ptr OVERLAPPED -> OVERLAPPED -> IO ()

data WIN32_FILE_ATTRIBUTE_DATA Source #

Constructors

Instances

Instances details
Instance details

Defined in System.Win32.File.Internal

data BY_HANDLE_FILE_INFORMATION Source #

Constructors

Instances

Instances details
Instance details

Defined in System.Win32.File.Internal

type MbLPSECURITY_ATTRIBUTES = Maybe LPSECURITY_ATTRIBUTES Source #

type LPSECURITY_ATTRIBUTES = Ptr SECURITY_ATTRIBUTES Source #

type PSECURITY_ATTRIBUTES = Ptr SECURITY_ATTRIBUTES Source #

data SECURITY_ATTRIBUTES Source #

Constructors

Instances

Instances details
Instance details

Defined in System.Win32.File.Internal

Methods

showsPrec :: Int -> SECURITY_ATTRIBUTES -> ShowS

show :: SECURITY_ATTRIBUTES -> String

showList :: [SECURITY_ATTRIBUTES] -> ShowS

data GET_FILEEX_INFO_LEVELS Source #

Instances

Instances details

type LockMode = DWORD Source #

type FileType = DWORD Source #

type FileNotificationFlag = DWORD Source #

type BinaryType = DWORD Source #

type DefineDosDeviceFlags = DWORD Source #

type DriveType = UINT Source #

type FilePtrDirection = DWORD Source #

type MoveFileFlag = DWORD Source #

type FileAttributeOrFlag = UINT Source #

type CreateMode = UINT Source #

type ShareMode = UINT Source #

type AccessMode = UINT Source #

setHandleCount :: UINT -> IO UINT Source #

setFileApisToANSI :: IO () Source #

setFileApisToOEM :: IO () Source #

areFileApisANSI :: IO Bool Source #

getFileType :: HANDLE -> IO FileType Source #

gENERIC_NONE :: AccessMode Source #

gENERIC_READ :: AccessMode Source #

gENERIC_WRITE :: AccessMode Source #

gENERIC_EXECUTE :: AccessMode Source #

gENERIC_ALL :: AccessMode Source #

dELETE :: AccessMode Source #

rEAD_CONTROL :: AccessMode Source #

wRITE_DAC :: AccessMode Source #

wRITE_OWNER :: AccessMode Source #

sYNCHRONIZE :: AccessMode Source #

sTANDARD_RIGHTS_REQUIRED :: AccessMode Source #

sTANDARD_RIGHTS_READ :: AccessMode Source #

sTANDARD_RIGHTS_WRITE :: AccessMode Source #

sTANDARD_RIGHTS_EXECUTE :: AccessMode Source #

sTANDARD_RIGHTS_ALL :: AccessMode Source #

sPECIFIC_RIGHTS_ALL :: AccessMode Source #

aCCESS_SYSTEM_SECURITY :: AccessMode Source #

mAXIMUM_ALLOWED :: AccessMode Source #

fILE_ADD_FILE :: AccessMode Source #

fILE_ADD_SUBDIRECTORY :: AccessMode Source #

fILE_ALL_ACCESS :: AccessMode Source #

fILE_APPEND_DATA :: AccessMode Source #

fILE_CREATE_PIPE_INSTANCE :: AccessMode Source #

fILE_DELETE_CHILD :: AccessMode Source #

fILE_EXECUTE :: AccessMode Source #

fILE_LIST_DIRECTORY :: AccessMode Source #

fILE_READ_ATTRIBUTES :: AccessMode Source #

fILE_READ_DATA :: AccessMode Source #

fILE_READ_EA :: AccessMode Source #

fILE_TRAVERSE :: AccessMode Source #

fILE_WRITE_ATTRIBUTES :: AccessMode Source #

fILE_WRITE_DATA :: AccessMode Source #

fILE_WRITE_EA :: AccessMode Source #

fILE_SHARE_NONE :: ShareMode Source #

fILE_SHARE_READ :: ShareMode Source #

fILE_SHARE_WRITE :: ShareMode Source #

fILE_SHARE_DELETE :: ShareMode Source #

cREATE_NEW :: CreateMode Source #

cREATE_ALWAYS :: CreateMode Source #

oPEN_EXISTING :: CreateMode Source #

oPEN_ALWAYS :: CreateMode Source #

tRUNCATE_EXISTING :: CreateMode Source #

fILE_ATTRIBUTE_READONLY :: FileAttributeOrFlag Source #

fILE_ATTRIBUTE_HIDDEN :: FileAttributeOrFlag Source #

fILE_ATTRIBUTE_SYSTEM :: FileAttributeOrFlag Source #

fILE_ATTRIBUTE_DIRECTORY :: FileAttributeOrFlag Source #

fILE_ATTRIBUTE_ARCHIVE :: FileAttributeOrFlag Source #

fILE_ATTRIBUTE_NORMAL :: FileAttributeOrFlag Source #

fILE_ATTRIBUTE_TEMPORARY :: FileAttributeOrFlag Source #

fILE_ATTRIBUTE_COMPRESSED :: FileAttributeOrFlag Source #

fILE_ATTRIBUTE_REPARSE_POINT :: FileAttributeOrFlag Source #

fILE_FLAG_WRITE_THROUGH :: FileAttributeOrFlag Source #

fILE_FLAG_OVERLAPPED :: FileAttributeOrFlag Source #

fILE_FLAG_NO_BUFFERING :: FileAttributeOrFlag Source #

fILE_FLAG_RANDOM_ACCESS :: FileAttributeOrFlag Source #

fILE_FLAG_SEQUENTIAL_SCAN :: FileAttributeOrFlag Source #

fILE_FLAG_DELETE_ON_CLOSE :: FileAttributeOrFlag Source #

fILE_FLAG_BACKUP_SEMANTICS :: FileAttributeOrFlag Source #

fILE_FLAG_POSIX_SEMANTICS :: FileAttributeOrFlag Source #

sECURITY_ANONYMOUS :: FileAttributeOrFlag Source #

sECURITY_IDENTIFICATION :: FileAttributeOrFlag Source #

sECURITY_IMPERSONATION :: FileAttributeOrFlag Source #

sECURITY_DELEGATION :: FileAttributeOrFlag Source #

sECURITY_CONTEXT_TRACKING :: FileAttributeOrFlag Source #

sECURITY_EFFECTIVE_ONLY :: FileAttributeOrFlag Source #

sECURITY_SQOS_PRESENT :: FileAttributeOrFlag Source #

sECURITY_VALID_SQOS_FLAGS :: FileAttributeOrFlag Source #

mOVEFILE_REPLACE_EXISTING :: MoveFileFlag Source #

mOVEFILE_COPY_ALLOWED :: MoveFileFlag Source #

mOVEFILE_DELAY_UNTIL_REBOOT :: MoveFileFlag Source #

fILE_BEGIN :: FilePtrDirection Source #

fILE_CURRENT :: FilePtrDirection Source #

fILE_END :: FilePtrDirection Source #

dRIVE_UNKNOWN :: DriveType Source #

dRIVE_NO_ROOT_DIR :: DriveType Source #

dRIVE_REMOVABLE :: DriveType Source #

dRIVE_FIXED :: DriveType Source #

dRIVE_REMOTE :: DriveType Source #

dRIVE_CDROM :: DriveType Source #

dRIVE_RAMDISK :: DriveType Source #

dDD_RAW_TARGET_PATH :: DefineDosDeviceFlags Source #

dDD_REMOVE_DEFINITION :: DefineDosDeviceFlags Source #

dDD_EXACT_MATCH_ON_REMOVE :: DefineDosDeviceFlags Source #

sCS_32BIT_BINARY :: BinaryType Source #

sCS_DOS_BINARY :: BinaryType Source #

sCS_WOW_BINARY :: BinaryType Source #

sCS_PIF_BINARY :: BinaryType Source #

sCS_POSIX_BINARY :: BinaryType Source #

sCS_OS216_BINARY :: BinaryType Source #

fILE_NOTIFY_CHANGE_FILE_NAME :: FileNotificationFlag Source #

fILE_NOTIFY_CHANGE_DIR_NAME :: FileNotificationFlag Source #

fILE_NOTIFY_CHANGE_ATTRIBUTES :: FileNotificationFlag Source #

fILE_NOTIFY_CHANGE_SIZE :: FileNotificationFlag Source #

fILE_NOTIFY_CHANGE_LAST_WRITE :: FileNotificationFlag Source #

fILE_NOTIFY_CHANGE_SECURITY :: FileNotificationFlag Source #

fILE_TYPE_UNKNOWN :: FileType Source #

fILE_TYPE_DISK :: FileType Source #

fILE_TYPE_CHAR :: FileType Source #

fILE_TYPE_PIPE :: FileType Source #

fILE_TYPE_REMOTE :: FileType Source #

lOCKFILE_EXCLUSIVE_LOCK :: LockMode Source #

lOCKFILE_FAIL_IMMEDIATELY :: LockMode Source #

failIfWithRetry :: (a -> Bool) -> String -> IO a -> IO a Source #

like failIf, but retried on sharing violations. This is necessary for many file operations; see https://www.betaarchive.com/wiki/index.php/Microsoft_KB_Archive/316609

failIfWithRetry_ :: (a -> Bool) -> String -> IO a -> IO () Source #

failIfFalseWithRetry_ :: String -> IO Bool -> IO () Source #

createFile_NoRetry :: String -> AccessMode -> ShareMode -> Maybe LPSECURITY_ATTRIBUTES -> CreateMode -> FileAttributeOrFlag -> Maybe HANDLE -> IO HANDLE Source #

Like createFile, but does not use failIfWithRetry. If another process has the same file open, this will fail.

closeHandle :: HANDLE -> IO () Source #

flushFileBuffers :: HANDLE -> IO () Source #

setEndOfFile :: HANDLE -> IO () Source #

getFileInformationByHandle :: HANDLE -> IO BY_HANDLE_FILE_INFORMATION Source #

win32_ReadFile :: HANDLE -> Ptr a -> DWORD -> Maybe LPOVERLAPPED -> IO DWORD Source #

win32_WriteFile :: HANDLE -> Ptr a -> DWORD -> Maybe LPOVERLAPPED -> IO DWORD Source #

setFilePointerEx :: HANDLE -> LARGE_INTEGER -> FilePtrDirection -> IO LARGE_INTEGER Source #

findNextChangeNotification :: HANDLE -> IO () Source #

findCloseChangeNotification :: HANDLE -> IO () Source #

findNextFile :: HANDLE -> FindData -> IO Bool Source #

findClose :: HANDLE -> IO () Source #

getLogicalDrives :: IO DWORD Source #

lockFile Source #

Arguments

:: HANDLE

CreateFile handle

-> LockMode

Locking mode

-> DWORD64

Size of region to lock

-> DWORD64

Beginning offset of file to lock

-> IO BOOL

Indicates if locking was successful, if not query getLastError.

Locks a given range in a file handle, To lock an entire file use 0xFFFFFFFFFFFFFFFF for size and 0 for offset.

unlockFile Source #

Arguments

:: HANDLE

CreateFile handle

-> DWORD64

Size of region to unlock

-> DWORD64

Beginning offset of file to unlock

-> IO BOOL

Indicates if unlocking was successful, if not query getLastError.

Unlocks a given range in a file handle, To unlock an entire file use 0xFFFFFFFFFFFFFFFF for size and 0 for offset.

AltStyle によって変換されたページ (->オリジナル) /