Copyright | 2009 Balazs Komuves 2013 shelarcy |
---|---|
License | BSD-style |
Maintainer | shelarcy@gmail.com |
Stability | Provisional |
Portability | Non-portable (Win32 API) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Utilities for calling Win32 API
Synopsis
- try :: String -> (LPTSTR -> UINT -> IO UINT) -> UINT -> IO String
- tryWithoutNull :: String -> (LPTSTR -> UINT -> IO UINT) -> UINT -> IO String
- try' :: Storable a => String -> (Ptr a -> PDWORD -> IO BOOL) -> DWORD -> IO [a]
- maybePtr :: Maybe (Ptr a) -> Ptr a
- ptrToMaybe :: Ptr a -> Maybe (Ptr a)
- maybeNum :: Num a => Maybe a -> a
- numToMaybe :: (Eq a, Num a) => a -> Maybe a
- peekMaybe :: Storable a => Ptr a -> IO (Maybe a)
- withMaybe :: Storable a => Maybe a -> (Ptr a -> IO b) -> IO b
Documentation
try :: String -> (LPTSTR -> UINT -> IO UINT) -> UINT -> IO String #
Support for API calls that are passed a fixed-size buffer and tell you via the return value if the buffer was too small. In that case, we extend the buffer size and try again.
Maybe values
ptrToMaybe :: Ptr a -> Maybe (Ptr a) #
numToMaybe :: (Eq a, Num a) => a -> Maybe a #