On this page
System.Win32.Types
Copyright | (c) Alastair Reid 1997-2003 |
---|---|
License | BSD-style (see the file libraries/base/LICENSE) |
Maintainer | Esa Ilari Vuokko <ei@vuokko.info> |
Stability | provisional |
Portability | portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Description
A collection of FFI declarations for interfacing with Win32.
type LPTSTR = Ptr TCHAR Source
type LPDWORD = Ptr DWORD Source
type LPWSTR = Ptr CWchar Source
type LRESULT = LONG_PTR Source
type HINSTANCE = Ptr () Source
type LONG_PTR = CIntPtr Source
type PrimaryLANGID = WORD Source
type ULONG_PTR = CUIntPtr Source
type SIZE_T = ULONG_PTR Source
type HKEY = ForeignHANDLE Source
type LPCTSTR_ = LPCTSTR Source
type LARGE_INTEGER = Int64 Source
type DWORD_PTR = ULONG_PTR Source
type INT_PTR = Ptr CInt Source
type HALF_PTR = Ptr INT32 Source
type MbString = Maybe String Source
type MbATOM = Maybe ATOM Source
type PUCHAR = Ptr UCHAR Source
type MbLPVOID = Maybe LPVOID Source
type MbLPCSTR = Maybe LPCSTR Source
type MbLPCTSTR = Maybe LPCTSTR Source
type ForeignHANDLE = ForeignPtr () Source
type MbHANDLE = Maybe HANDLE Source
type MbHINSTANCE = Maybe HINSTANCE Source
type MbHMODULE = Maybe HMODULE Source
try :: String -> (LPTSTR -> UINT -> IO UINT) -> UINT -> IO String Source
getLastError :: IO ErrCode Source
c_maperrno_func :: ErrCode -> IO Errno Source
iNVALID_HANDLE_VALUE :: HANDLE Source
failWith :: String -> ErrCode -> IO a Source
getErrorMessage :: DWORD -> IO LPWSTR Source
failIf :: (a -> Bool) -> String -> IO a -> IO a Source
failIf_ :: (a -> Bool) -> String -> IO a -> IO () Source
failIfNull :: String -> IO (Ptr a) -> IO (Ptr a) Source
failIfZero :: (Eq a, Num a) => String -> IO a -> IO a Source
failIfFalse_ :: String -> IO Bool -> IO () Source
failUnlessSuccess :: String -> IO ErrCode -> IO () Source
failUnlessSuccessOr :: ErrCode -> String -> IO ErrCode -> IO Bool Source
ddwordToDwords :: DDWORD -> (DWORD, DWORD) Source
dwordsToDdword :: (DWORD, DWORD) -> DDWORD Source
setLastError :: ErrCode -> IO () Source
c_get_osfhandle :: CInt -> IO HANDLE Source
maybePtr :: Maybe (Ptr a) -> Ptr a Source
newTString :: String -> IO LPCTSTR Source
withTString :: String -> (LPTSTR -> IO a) -> IO a Source
ptrToMaybe :: Ptr a -> Maybe (Ptr a) Source
peekTString :: LPCTSTR -> IO String Source
numToMaybe :: (Eq a, Num a) => a -> Maybe a Source
maybeNum :: Num a => Maybe a -> a Source
errorWin :: String -> IO a Source
castUINTPtrToPtr :: UINT_PTR -> Ptr a Source
mAKELCID :: LANGID -> SortID -> LCID Source
lANGIDFROMLCID :: LCID -> LANGID Source
sORTIDFROMLCID :: LCID -> SortID Source
mAKELANGID :: PrimaryLANGID -> SubLANGID -> LANGID Source
pRIMARYLANGID :: LANGID -> PrimaryLANGID Source
sUBLANGID :: LANGID -> SubLANGID Source
peekTStringLen :: (LPCTSTR, Int) -> IO String Source
newForeignHANDLE :: HANDLE -> IO ForeignHANDLE Source
withTStringLen :: String -> ((LPTSTR, Int) -> IO a) -> IO a Source
eRROR_INSUFFICIENT_BUFFER :: ErrCode Source
deleteObjectFinaliser :: FunPtr (Ptr a -> IO ()) Source
handleToWord :: HANDLE -> UINT_PTR Source
castPtrToUINTPtr :: Ptr s -> UINT_PTR Source
nullHINSTANCE :: HINSTANCE Source
nullFinalHANDLE :: ForeignPtr a Source
_open_osfhandle :: CIntPtr -> CInt -> IO CInt Source
hANDLEToHandle :: HANDLE -> IO Handle Source
Create a Haskell Handle
from a Windows HANDLE
.
Beware that this function allocates a new file descriptor. A consequence of this is that calling hANDLEToHandle
on the standard Windows handles will not give you stdin
, stdout
, or stderr
. For example, if you run this code:
import Graphics.Win32.Misc
stdoutHANDLE <- getStdHandle sTD_OUTPUT_HANDLE
stdout2 <- hANDLEToHandle stdoutHANDLE
Then although you can use stdout2
to write to standard output, it is not the case that stdout == stdout2
.
withHandleToHANDLE :: Handle -> (HANDLE -> IO a) -> IO a Source
Extract a Windows HANDLE
from a Haskell Handle
and perform an action on it.
withHandleToHANDLEPosix :: Handle -> (HANDLE -> IO a) -> IO a Source
withStablePtr :: a -> (StablePtr a -> IO b) -> IO b Source
failIfNeg :: (Num a, Ord a) => String -> IO a -> IO a Source
eRROR_MOD_NOT_FOUND :: ErrCode Source
eRROR_PROC_NOT_FOUND :: ErrCode Source
localFree :: Ptr a -> IO (Ptr a) Source
lOWORD :: DWORD -> WORD Source
hIWORD :: DWORD -> WORD Source
The constant nullPtr
contains a distinguished value of Ptr
that is not associated with a valid memory location.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.4.2/docs/libraries/Win32-2.12.0.0/System-Win32-Types.html