packages feed

Win32 2.5.0.0 → 2.5.1.0

raw patch · 4 files changed

+71/−5 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Graphics.Win32.GDI.AlphaBlend: alphaFormat :: BLENDFUNCTION -> BYTE
- Graphics.Win32.GDI.AlphaBlend: blendFlags :: BLENDFUNCTION -> BYTE
- Graphics.Win32.GDI.AlphaBlend: blendOp :: BLENDFUNCTION -> BYTE
- Graphics.Win32.GDI.AlphaBlend: instance Show BLENDFUNCTION
- Graphics.Win32.GDI.AlphaBlend: instance Storable BLENDFUNCTION
- Graphics.Win32.GDI.AlphaBlend: sourceConstantAlpha :: BLENDFUNCTION -> BYTE
- Graphics.Win32.Menu: menuItemBitmapChecked :: MenuItemInfo -> HBITMAP
- Graphics.Win32.Menu: menuItemBitmapUnchecked :: MenuItemInfo -> HBITMAP
- Graphics.Win32.Menu: menuItemData :: MenuItemInfo -> DWORD
- Graphics.Win32.Menu: menuItemID :: MenuItemInfo -> UINT
- Graphics.Win32.Menu: menuItemState :: MenuItemInfo -> MenuState
- Graphics.Win32.Menu: menuItemSubMenu :: MenuItemInfo -> HMENU
- Graphics.Win32.Menu: menuItemType :: MenuItemInfo -> MenuFlag
- Graphics.Win32.Menu: menuItemTypeData :: MenuItemInfo -> String
- System.Win32.Automation.Input: instance Show HARDWAREINPUT
- System.Win32.Automation.Input: instance Show INPUT
- System.Win32.Automation.Input: instance Storable HARDWAREINPUT
- System.Win32.Automation.Input: instance Storable INPUT
- System.Win32.Automation.Input: uMsg :: HARDWAREINPUT -> DWORD
- System.Win32.Automation.Input: wParamH :: HARDWAREINPUT -> WORD
- System.Win32.Automation.Input: wParamL :: HARDWAREINPUT -> WORD
- System.Win32.Automation.Input.Key: dwExtraInfo :: KEYBDINPUT -> ULONG_PTR
- System.Win32.Automation.Input.Key: dwFlags :: KEYBDINPUT -> DWORD
- System.Win32.Automation.Input.Key: instance Show KEYBDINPUT
- System.Win32.Automation.Input.Key: instance Storable KEYBDINPUT
- System.Win32.Automation.Input.Key: time :: KEYBDINPUT -> DWORD
- System.Win32.Automation.Input.Key: wScan :: KEYBDINPUT -> WORD
- System.Win32.Automation.Input.Key: wVk :: KEYBDINPUT -> WORD
- System.Win32.Automation.Input.Mouse: dwExtraInfo :: MOUSEINPUT -> ULONG_PTR
- System.Win32.Automation.Input.Mouse: dwFlags :: MOUSEINPUT -> DWORD
- System.Win32.Automation.Input.Mouse: dx :: MOUSEINPUT -> LONG
- System.Win32.Automation.Input.Mouse: dy :: MOUSEINPUT -> LONG
- System.Win32.Automation.Input.Mouse: instance Show MOUSEINPUT
- System.Win32.Automation.Input.Mouse: instance Storable MOUSEINPUT
- System.Win32.Automation.Input.Mouse: mouseData :: MOUSEINPUT -> DWORD
- System.Win32.Automation.Input.Mouse: time :: MOUSEINPUT -> DWORD
- System.Win32.DebugApi: instance Show DebugEventInfo
- System.Win32.DebugApi: instance Show Exception
- System.Win32.Exception.Unsupported: instance Exception Unsupported
- System.Win32.Exception.Unsupported: instance Show Unsupported
- System.Win32.Exception.Unsupported: instance Typeable Unsupported
- System.Win32.File: bhfiCreationTime :: BY_HANDLE_FILE_INFORMATION -> FILETIME
- System.Win32.File: bhfiFileAttributes :: BY_HANDLE_FILE_INFORMATION -> FileAttributeOrFlag
- System.Win32.File: bhfiFileIndex :: BY_HANDLE_FILE_INFORMATION -> DDWORD
- System.Win32.File: bhfiLastAccessTime :: BY_HANDLE_FILE_INFORMATION -> FILETIME
- System.Win32.File: bhfiLastWriteTime :: BY_HANDLE_FILE_INFORMATION -> FILETIME
- System.Win32.File: bhfiNumberOfLinks :: BY_HANDLE_FILE_INFORMATION -> DWORD
- System.Win32.File: bhfiSize :: BY_HANDLE_FILE_INFORMATION -> DDWORD
- System.Win32.File: bhfiVolumeSerialNumber :: BY_HANDLE_FILE_INFORMATION -> DWORD
- System.Win32.File: fadCreationTime :: WIN32_FILE_ATTRIBUTE_DATA -> FILETIME
- System.Win32.File: fadFileAttributes :: WIN32_FILE_ATTRIBUTE_DATA -> DWORD
- System.Win32.File: fadFileSize :: WIN32_FILE_ATTRIBUTE_DATA -> DDWORD
- System.Win32.File: fadLastAccessTime :: WIN32_FILE_ATTRIBUTE_DATA -> FILETIME
- System.Win32.File: fadLastWriteTime :: WIN32_FILE_ATTRIBUTE_DATA -> FILETIME
- System.Win32.File: instance Eq GET_FILEEX_INFO_LEVELS
- System.Win32.File: instance Ord GET_FILEEX_INFO_LEVELS
- System.Win32.File: instance Show BY_HANDLE_FILE_INFORMATION
- System.Win32.File: instance Show WIN32_FILE_ATTRIBUTE_DATA
- System.Win32.File: instance Storable BY_HANDLE_FILE_INFORMATION
- System.Win32.File: instance Storable WIN32_FILE_ATTRIBUTE_DATA
- System.Win32.Info: instance Eq ProcessorArchitecture
- System.Win32.Info: instance Show ProcessorArchitecture
- System.Win32.Info: instance Show SYSTEM_INFO
- System.Win32.Info: instance Storable ProcessorArchitecture
- System.Win32.Info: instance Storable SYSTEM_INFO
- System.Win32.Info: siActiveProcessorMask :: SYSTEM_INFO -> DWORD
- System.Win32.Info: siAllocationGranularity :: SYSTEM_INFO -> DWORD
- System.Win32.Info: siMaximumApplicationAddress :: SYSTEM_INFO -> LPVOID
- System.Win32.Info: siMinimumApplicationAddress :: SYSTEM_INFO -> LPVOID
- System.Win32.Info: siNumberOfProcessors :: SYSTEM_INFO -> DWORD
- System.Win32.Info: siPageSize :: SYSTEM_INFO -> DWORD
- System.Win32.Info: siProcessorArchitecture :: SYSTEM_INFO -> ProcessorArchitecture
- System.Win32.Info: siProcessorLevel :: SYSTEM_INFO -> WORD
- System.Win32.Info: siProcessorRevision :: SYSTEM_INFO -> WORD
- System.Win32.Info: siProcessorType :: SYSTEM_INFO -> DWORD
- System.Win32.Info.Computer: dwBuildNumber :: OSVERSIONINFOEX -> DWORD
- System.Win32.Info.Computer: dwMajorVersion :: OSVERSIONINFOEX -> DWORD
- System.Win32.Info.Computer: dwMinorVersion :: OSVERSIONINFOEX -> DWORD
- System.Win32.Info.Computer: dwPlatformId :: OSVERSIONINFOEX -> DWORD
- System.Win32.Info.Computer: szCSDVersion :: OSVERSIONINFOEX -> String
- System.Win32.Info.Computer: wProductType :: OSVERSIONINFOEX -> ProductType
- System.Win32.Info.Computer: wServicePackMajor :: OSVERSIONINFOEX -> WORD
- System.Win32.Info.Computer: wServicePackMinor :: OSVERSIONINFOEX -> WORD
- System.Win32.Info.Computer: wSuiteMask :: OSVERSIONINFOEX -> WORD
- System.Win32.Info.Version: dwBuildNumber :: OSVERSIONINFOEX -> DWORD
- System.Win32.Info.Version: dwMajorVersion :: OSVERSIONINFOEX -> DWORD
- System.Win32.Info.Version: dwMinorVersion :: OSVERSIONINFOEX -> DWORD
- System.Win32.Info.Version: dwPlatformId :: OSVERSIONINFOEX -> DWORD
- System.Win32.Info.Version: instance Eq ProductType
- System.Win32.Info.Version: instance Show OSVERSIONINFOEX
- System.Win32.Info.Version: instance Show ProductType
- System.Win32.Info.Version: instance Storable OSVERSIONINFOEX
- System.Win32.Info.Version: instance Storable ProductType
- System.Win32.Info.Version: szCSDVersion :: OSVERSIONINFOEX -> String
- System.Win32.Info.Version: wProductType :: OSVERSIONINFOEX -> ProductType
- System.Win32.Info.Version: wServicePackMajor :: OSVERSIONINFOEX -> WORD
- System.Win32.Info.Version: wServicePackMinor :: OSVERSIONINFOEX -> WORD
- System.Win32.Info.Version: wSuiteMask :: OSVERSIONINFOEX -> WORD
- System.Win32.Mem: instance Show MEMORY_BASIC_INFORMATION
- System.Win32.Mem: instance Storable MEMORY_BASIC_INFORMATION
- System.Win32.Mem: mbiAllocationBase :: MEMORY_BASIC_INFORMATION -> Addr
- System.Win32.Mem: mbiAllocationProtect :: MEMORY_BASIC_INFORMATION -> DWORD
- System.Win32.Mem: mbiBaseAddress :: MEMORY_BASIC_INFORMATION -> Addr
- System.Win32.Mem: mbiProtect :: MEMORY_BASIC_INFORMATION -> DWORD
- System.Win32.Mem: mbiRegionSize :: MEMORY_BASIC_INFORMATION -> SIZE_T
- System.Win32.Mem: mbiState :: MEMORY_BASIC_INFORMATION -> DWORD
- System.Win32.Mem: mbiType :: MEMORY_BASIC_INFORMATION -> DWORD
- System.Win32.MinTTY: instance Show FILE_NAME_INFO
- System.Win32.MinTTY: instance Show OBJECT_NAME_INFORMATION
- System.Win32.MinTTY: instance Show UNICODE_STRING
- System.Win32.MinTTY: instance Storable FILE_NAME_INFO
- System.Win32.MinTTY: instance Storable OBJECT_NAME_INFORMATION
- System.Win32.MinTTY: instance Storable UNICODE_STRING
- System.Win32.Registry: class_id :: RegInfoKey -> Int
- System.Win32.Registry: class_string :: RegInfoKey -> String
- System.Win32.Registry: lastWrite_hi :: RegInfoKey -> Word32
- System.Win32.Registry: lastWrite_lo :: RegInfoKey -> Word32
- System.Win32.Registry: max_class_len :: RegInfoKey -> Word32
- System.Win32.Registry: max_subkey_len :: RegInfoKey -> Word32
- System.Win32.Registry: max_value_len :: RegInfoKey -> Word32
- System.Win32.Registry: max_value_name_len :: RegInfoKey -> Word32
- System.Win32.Registry: sec_len :: RegInfoKey -> Int
- System.Win32.Registry: subkeys :: RegInfoKey -> Word32
- System.Win32.Registry: values :: RegInfoKey -> Word32
- System.Win32.SimpleMAPI: attFlag :: Attachment -> MapiFlag
- System.Win32.SimpleMAPI: attName :: Attachment -> Maybe String
- System.Win32.SimpleMAPI: attPath :: Attachment -> String
- System.Win32.SimpleMAPI: attPosition :: Attachment -> Maybe ULONG
- System.Win32.SimpleMAPI: attTag :: Attachment -> Maybe FileTag
- System.Win32.SimpleMAPI: ftEncoding :: FileTag -> Maybe String
- System.Win32.SimpleMAPI: ftTag :: FileTag -> Maybe String
- System.Win32.SimpleMAPI: instance Enum RecipientClass
- System.Win32.SimpleMAPI: instance Eq RecipientClass
- System.Win32.SimpleMAPI: instance Ord RecipientClass
- System.Win32.SimpleMAPI: instance Show Attachment
- System.Win32.SimpleMAPI: instance Show FileTag
- System.Win32.SimpleMAPI: instance Show Message
- System.Win32.SimpleMAPI: instance Show Recipient
- System.Win32.SimpleMAPI: instance Show RecipientClass
- System.Win32.SimpleMAPI: mapifFreeBuffer :: MapiFuncs -> MapiFreeBufferType
- System.Win32.SimpleMAPI: mapifLogoff :: MapiFuncs -> MapiLogoffType
- System.Win32.SimpleMAPI: mapifLogon :: MapiFuncs -> MapiLogonType
- System.Win32.SimpleMAPI: mapifResolveName :: MapiFuncs -> MapiResolveNameType
- System.Win32.SimpleMAPI: mapifSendMail :: MapiFuncs -> MapiSendMailType
- System.Win32.SimpleMAPI: msgAttachments :: Message -> Attachments
- System.Win32.SimpleMAPI: msgBody :: Message -> String
- System.Win32.SimpleMAPI: msgConversationId :: Message -> Maybe String
- System.Win32.SimpleMAPI: msgDate :: Message -> Maybe String
- System.Win32.SimpleMAPI: msgFlags :: Message -> MapiFlag
- System.Win32.SimpleMAPI: msgFrom :: Message -> Maybe Recipient
- System.Win32.SimpleMAPI: msgRecips :: Message -> Recipients
- System.Win32.SimpleMAPI: msgSubject :: Message -> String
- System.Win32.SimpleMAPI: msgType :: Message -> Maybe String
- System.Win32.Time: instance Eq FILETIME
- System.Win32.Time: instance Eq SYSTEMTIME
- System.Win32.Time: instance Eq TIME_ZONE_INFORMATION
- System.Win32.Time: instance Eq TimeZoneId
- System.Win32.Time: instance Ord FILETIME
- System.Win32.Time: instance Ord SYSTEMTIME
- System.Win32.Time: instance Ord TIME_ZONE_INFORMATION
- System.Win32.Time: instance Ord TimeZoneId
- System.Win32.Time: instance Show FILETIME
- System.Win32.Time: instance Show SYSTEMTIME
- System.Win32.Time: instance Show TIME_ZONE_INFORMATION
- System.Win32.Time: instance Show TimeZoneId
- System.Win32.Time: instance Storable FILETIME
- System.Win32.Time: instance Storable SYSTEMTIME
- System.Win32.Time: instance Storable TIME_ZONE_INFORMATION
- System.Win32.Time: tziBias :: TIME_ZONE_INFORMATION -> LONG
- System.Win32.Time: tziDaylightBias :: TIME_ZONE_INFORMATION -> LONG
- System.Win32.Time: tziDaylightDate :: TIME_ZONE_INFORMATION -> SYSTEMTIME
- System.Win32.Time: tziDaylightName :: TIME_ZONE_INFORMATION -> String
- System.Win32.Time: tziStandardBias :: TIME_ZONE_INFORMATION -> LONG
- System.Win32.Time: tziStandardDate :: TIME_ZONE_INFORMATION -> SYSTEMTIME
- System.Win32.Time: tziStandardName :: TIME_ZONE_INFORMATION -> String
- System.Win32.Time: wDay :: SYSTEMTIME -> WORD
- System.Win32.Time: wDayOfWeek :: SYSTEMTIME -> WORD
- System.Win32.Time: wHour :: SYSTEMTIME -> WORD
- System.Win32.Time: wMilliseconds :: SYSTEMTIME -> WORD
- System.Win32.Time: wMinute :: SYSTEMTIME -> WORD
- System.Win32.Time: wMonth :: SYSTEMTIME -> WORD
- System.Win32.Time: wSecond :: SYSTEMTIME -> WORD
- System.Win32.Time: wYear :: SYSTEMTIME -> WORD
+ Graphics.Win32.GDI.AlphaBlend: [alphaFormat] :: BLENDFUNCTION -> BYTE
+ Graphics.Win32.GDI.AlphaBlend: [blendFlags] :: BLENDFUNCTION -> BYTE
+ Graphics.Win32.GDI.AlphaBlend: [blendOp] :: BLENDFUNCTION -> BYTE
+ Graphics.Win32.GDI.AlphaBlend: [sourceConstantAlpha] :: BLENDFUNCTION -> BYTE
+ Graphics.Win32.GDI.AlphaBlend: instance Foreign.Storable.Storable Graphics.Win32.GDI.AlphaBlend.BLENDFUNCTION
+ Graphics.Win32.GDI.AlphaBlend: instance GHC.Show.Show Graphics.Win32.GDI.AlphaBlend.BLENDFUNCTION
+ Graphics.Win32.Menu: [menuItemBitmapChecked] :: MenuItemInfo -> HBITMAP
+ Graphics.Win32.Menu: [menuItemBitmapUnchecked] :: MenuItemInfo -> HBITMAP
+ Graphics.Win32.Menu: [menuItemData] :: MenuItemInfo -> DWORD
+ Graphics.Win32.Menu: [menuItemID] :: MenuItemInfo -> UINT
+ Graphics.Win32.Menu: [menuItemState] :: MenuItemInfo -> MenuState
+ Graphics.Win32.Menu: [menuItemSubMenu] :: MenuItemInfo -> HMENU
+ Graphics.Win32.Menu: [menuItemTypeData] :: MenuItemInfo -> String
+ Graphics.Win32.Menu: [menuItemType] :: MenuItemInfo -> MenuFlag
+ System.Win32.Automation.Input: [uMsg] :: HARDWAREINPUT -> DWORD
+ System.Win32.Automation.Input: [wParamH] :: HARDWAREINPUT -> WORD
+ System.Win32.Automation.Input: [wParamL] :: HARDWAREINPUT -> WORD
+ System.Win32.Automation.Input: instance Foreign.Storable.Storable System.Win32.Automation.Input.HARDWAREINPUT
+ System.Win32.Automation.Input: instance Foreign.Storable.Storable System.Win32.Automation.Input.INPUT
+ System.Win32.Automation.Input: instance GHC.Show.Show System.Win32.Automation.Input.HARDWAREINPUT
+ System.Win32.Automation.Input: instance GHC.Show.Show System.Win32.Automation.Input.INPUT
+ System.Win32.Automation.Input.Key: [dwExtraInfo] :: KEYBDINPUT -> ULONG_PTR
+ System.Win32.Automation.Input.Key: [dwFlags] :: KEYBDINPUT -> DWORD
+ System.Win32.Automation.Input.Key: [time] :: KEYBDINPUT -> DWORD
+ System.Win32.Automation.Input.Key: [wScan] :: KEYBDINPUT -> WORD
+ System.Win32.Automation.Input.Key: [wVk] :: KEYBDINPUT -> WORD
+ System.Win32.Automation.Input.Key: instance Foreign.Storable.Storable System.Win32.Automation.Input.Key.KEYBDINPUT
+ System.Win32.Automation.Input.Key: instance GHC.Show.Show System.Win32.Automation.Input.Key.KEYBDINPUT
+ System.Win32.Automation.Input.Mouse: [dwExtraInfo] :: MOUSEINPUT -> ULONG_PTR
+ System.Win32.Automation.Input.Mouse: [dwFlags] :: MOUSEINPUT -> DWORD
+ System.Win32.Automation.Input.Mouse: [dx] :: MOUSEINPUT -> LONG
+ System.Win32.Automation.Input.Mouse: [dy] :: MOUSEINPUT -> LONG
+ System.Win32.Automation.Input.Mouse: [mouseData] :: MOUSEINPUT -> DWORD
+ System.Win32.Automation.Input.Mouse: [time] :: MOUSEINPUT -> DWORD
+ System.Win32.Automation.Input.Mouse: instance Foreign.Storable.Storable System.Win32.Automation.Input.Mouse.MOUSEINPUT
+ System.Win32.Automation.Input.Mouse: instance GHC.Show.Show System.Win32.Automation.Input.Mouse.MOUSEINPUT
+ System.Win32.DebugApi: instance GHC.Show.Show System.Win32.DebugApi.DebugEventInfo
+ System.Win32.DebugApi: instance GHC.Show.Show System.Win32.DebugApi.Exception
+ System.Win32.Exception.Unsupported: instance GHC.Exception.Exception System.Win32.Exception.Unsupported.Unsupported
+ System.Win32.Exception.Unsupported: instance GHC.Show.Show System.Win32.Exception.Unsupported.Unsupported
+ System.Win32.File: [bhfiCreationTime, bhfiLastAccessTime, bhfiLastWriteTime] :: BY_HANDLE_FILE_INFORMATION -> FILETIME
+ System.Win32.File: [bhfiFileAttributes] :: BY_HANDLE_FILE_INFORMATION -> FileAttributeOrFlag
+ System.Win32.File: [bhfiFileIndex] :: BY_HANDLE_FILE_INFORMATION -> DDWORD
+ System.Win32.File: [bhfiNumberOfLinks] :: BY_HANDLE_FILE_INFORMATION -> DWORD
+ System.Win32.File: [bhfiSize] :: BY_HANDLE_FILE_INFORMATION -> DDWORD
+ System.Win32.File: [bhfiVolumeSerialNumber] :: BY_HANDLE_FILE_INFORMATION -> DWORD
+ System.Win32.File: [fadCreationTime, fadLastAccessTime, fadLastWriteTime] :: WIN32_FILE_ATTRIBUTE_DATA -> FILETIME
+ System.Win32.File: [fadFileAttributes] :: WIN32_FILE_ATTRIBUTE_DATA -> DWORD
+ System.Win32.File: [fadFileSize] :: WIN32_FILE_ATTRIBUTE_DATA -> DDWORD
+ System.Win32.File: instance Foreign.Storable.Storable System.Win32.File.BY_HANDLE_FILE_INFORMATION
+ System.Win32.File: instance Foreign.Storable.Storable System.Win32.File.WIN32_FILE_ATTRIBUTE_DATA
+ System.Win32.File: instance GHC.Classes.Eq System.Win32.File.GET_FILEEX_INFO_LEVELS
+ System.Win32.File: instance GHC.Classes.Ord System.Win32.File.GET_FILEEX_INFO_LEVELS
+ System.Win32.File: instance GHC.Show.Show System.Win32.File.BY_HANDLE_FILE_INFORMATION
+ System.Win32.File: instance GHC.Show.Show System.Win32.File.WIN32_FILE_ATTRIBUTE_DATA
+ System.Win32.Info: [siActiveProcessorMask] :: SYSTEM_INFO -> DWORD
+ System.Win32.Info: [siAllocationGranularity] :: SYSTEM_INFO -> DWORD
+ System.Win32.Info: [siMinimumApplicationAddress, siMaximumApplicationAddress] :: SYSTEM_INFO -> LPVOID
+ System.Win32.Info: [siNumberOfProcessors] :: SYSTEM_INFO -> DWORD
+ System.Win32.Info: [siPageSize] :: SYSTEM_INFO -> DWORD
+ System.Win32.Info: [siProcessorArchitecture] :: SYSTEM_INFO -> ProcessorArchitecture
+ System.Win32.Info: [siProcessorLevel] :: SYSTEM_INFO -> WORD
+ System.Win32.Info: [siProcessorRevision] :: SYSTEM_INFO -> WORD
+ System.Win32.Info: [siProcessorType] :: SYSTEM_INFO -> DWORD
+ System.Win32.Info: instance Foreign.Storable.Storable System.Win32.Info.ProcessorArchitecture
+ System.Win32.Info: instance Foreign.Storable.Storable System.Win32.Info.SYSTEM_INFO
+ System.Win32.Info: instance GHC.Classes.Eq System.Win32.Info.ProcessorArchitecture
+ System.Win32.Info: instance GHC.Show.Show System.Win32.Info.ProcessorArchitecture
+ System.Win32.Info: instance GHC.Show.Show System.Win32.Info.SYSTEM_INFO
+ System.Win32.Info.Computer: [dwBuildNumber] :: OSVERSIONINFOEX -> DWORD
+ System.Win32.Info.Computer: [dwMajorVersion] :: OSVERSIONINFOEX -> DWORD
+ System.Win32.Info.Computer: [dwMinorVersion] :: OSVERSIONINFOEX -> DWORD
+ System.Win32.Info.Computer: [dwPlatformId] :: OSVERSIONINFOEX -> DWORD
+ System.Win32.Info.Computer: [szCSDVersion] :: OSVERSIONINFOEX -> String
+ System.Win32.Info.Computer: [wProductType] :: OSVERSIONINFOEX -> ProductType
+ System.Win32.Info.Computer: [wServicePackMajor] :: OSVERSIONINFOEX -> WORD
+ System.Win32.Info.Computer: [wServicePackMinor] :: OSVERSIONINFOEX -> WORD
+ System.Win32.Info.Computer: [wSuiteMask] :: OSVERSIONINFOEX -> WORD
+ System.Win32.Info.Version: [dwBuildNumber] :: OSVERSIONINFOEX -> DWORD
+ System.Win32.Info.Version: [dwMajorVersion] :: OSVERSIONINFOEX -> DWORD
+ System.Win32.Info.Version: [dwMinorVersion] :: OSVERSIONINFOEX -> DWORD
+ System.Win32.Info.Version: [dwPlatformId] :: OSVERSIONINFOEX -> DWORD
+ System.Win32.Info.Version: [szCSDVersion] :: OSVERSIONINFOEX -> String
+ System.Win32.Info.Version: [wProductType] :: OSVERSIONINFOEX -> ProductType
+ System.Win32.Info.Version: [wServicePackMajor] :: OSVERSIONINFOEX -> WORD
+ System.Win32.Info.Version: [wServicePackMinor] :: OSVERSIONINFOEX -> WORD
+ System.Win32.Info.Version: [wSuiteMask] :: OSVERSIONINFOEX -> WORD
+ System.Win32.Info.Version: instance Foreign.Storable.Storable System.Win32.Info.Version.OSVERSIONINFOEX
+ System.Win32.Info.Version: instance Foreign.Storable.Storable System.Win32.Info.Version.ProductType
+ System.Win32.Info.Version: instance GHC.Classes.Eq System.Win32.Info.Version.ProductType
+ System.Win32.Info.Version: instance GHC.Show.Show System.Win32.Info.Version.OSVERSIONINFOEX
+ System.Win32.Info.Version: instance GHC.Show.Show System.Win32.Info.Version.ProductType
+ System.Win32.Mem: [mbiAllocationBase] :: MEMORY_BASIC_INFORMATION -> Addr
+ System.Win32.Mem: [mbiAllocationProtect] :: MEMORY_BASIC_INFORMATION -> DWORD
+ System.Win32.Mem: [mbiBaseAddress] :: MEMORY_BASIC_INFORMATION -> Addr
+ System.Win32.Mem: [mbiProtect] :: MEMORY_BASIC_INFORMATION -> DWORD
+ System.Win32.Mem: [mbiRegionSize] :: MEMORY_BASIC_INFORMATION -> SIZE_T
+ System.Win32.Mem: [mbiState] :: MEMORY_BASIC_INFORMATION -> DWORD
+ System.Win32.Mem: [mbiType] :: MEMORY_BASIC_INFORMATION -> DWORD
+ System.Win32.Mem: instance Foreign.Storable.Storable System.Win32.Mem.MEMORY_BASIC_INFORMATION
+ System.Win32.Mem: instance GHC.Show.Show System.Win32.Mem.MEMORY_BASIC_INFORMATION
+ System.Win32.MinTTY: instance Foreign.Storable.Storable System.Win32.MinTTY.FILE_NAME_INFO
+ System.Win32.MinTTY: instance Foreign.Storable.Storable System.Win32.MinTTY.OBJECT_NAME_INFORMATION
+ System.Win32.MinTTY: instance Foreign.Storable.Storable System.Win32.MinTTY.UNICODE_STRING
+ System.Win32.MinTTY: instance GHC.Show.Show System.Win32.MinTTY.FILE_NAME_INFO
+ System.Win32.MinTTY: instance GHC.Show.Show System.Win32.MinTTY.OBJECT_NAME_INFORMATION
+ System.Win32.MinTTY: instance GHC.Show.Show System.Win32.MinTTY.UNICODE_STRING
+ System.Win32.Registry: [class_id] :: RegInfoKey -> Int
+ System.Win32.Registry: [class_string] :: RegInfoKey -> String
+ System.Win32.Registry: [lastWrite_hi] :: RegInfoKey -> Word32
+ System.Win32.Registry: [lastWrite_lo] :: RegInfoKey -> Word32
+ System.Win32.Registry: [max_class_len] :: RegInfoKey -> Word32
+ System.Win32.Registry: [max_subkey_len] :: RegInfoKey -> Word32
+ System.Win32.Registry: [max_value_len] :: RegInfoKey -> Word32
+ System.Win32.Registry: [max_value_name_len] :: RegInfoKey -> Word32
+ System.Win32.Registry: [sec_len] :: RegInfoKey -> Int
+ System.Win32.Registry: [subkeys] :: RegInfoKey -> Word32
+ System.Win32.Registry: [values] :: RegInfoKey -> Word32
+ System.Win32.SimpleMAPI: [attFlag] :: Attachment -> MapiFlag
+ System.Win32.SimpleMAPI: [attName] :: Attachment -> Maybe String
+ System.Win32.SimpleMAPI: [attPath] :: Attachment -> String
+ System.Win32.SimpleMAPI: [attPosition] :: Attachment -> Maybe ULONG
+ System.Win32.SimpleMAPI: [attTag] :: Attachment -> Maybe FileTag
+ System.Win32.SimpleMAPI: [ftEncoding] :: FileTag -> Maybe String
+ System.Win32.SimpleMAPI: [ftTag] :: FileTag -> Maybe String
+ System.Win32.SimpleMAPI: [mapifFreeBuffer] :: MapiFuncs -> MapiFreeBufferType
+ System.Win32.SimpleMAPI: [mapifLogoff] :: MapiFuncs -> MapiLogoffType
+ System.Win32.SimpleMAPI: [mapifLogon] :: MapiFuncs -> MapiLogonType
+ System.Win32.SimpleMAPI: [mapifResolveName] :: MapiFuncs -> MapiResolveNameType
+ System.Win32.SimpleMAPI: [mapifSendMail] :: MapiFuncs -> MapiSendMailType
+ System.Win32.SimpleMAPI: [msgAttachments] :: Message -> Attachments
+ System.Win32.SimpleMAPI: [msgBody] :: Message -> String
+ System.Win32.SimpleMAPI: [msgConversationId] :: Message -> Maybe String
+ System.Win32.SimpleMAPI: [msgDate] :: Message -> Maybe String
+ System.Win32.SimpleMAPI: [msgFlags] :: Message -> MapiFlag
+ System.Win32.SimpleMAPI: [msgFrom] :: Message -> Maybe Recipient
+ System.Win32.SimpleMAPI: [msgRecips] :: Message -> Recipients
+ System.Win32.SimpleMAPI: [msgSubject] :: Message -> String
+ System.Win32.SimpleMAPI: [msgType] :: Message -> Maybe String
+ System.Win32.SimpleMAPI: instance GHC.Classes.Eq System.Win32.SimpleMAPI.RecipientClass
+ System.Win32.SimpleMAPI: instance GHC.Classes.Ord System.Win32.SimpleMAPI.RecipientClass
+ System.Win32.SimpleMAPI: instance GHC.Enum.Enum System.Win32.SimpleMAPI.RecipientClass
+ System.Win32.SimpleMAPI: instance GHC.Show.Show System.Win32.SimpleMAPI.Attachment
+ System.Win32.SimpleMAPI: instance GHC.Show.Show System.Win32.SimpleMAPI.FileTag
+ System.Win32.SimpleMAPI: instance GHC.Show.Show System.Win32.SimpleMAPI.Message
+ System.Win32.SimpleMAPI: instance GHC.Show.Show System.Win32.SimpleMAPI.Recipient
+ System.Win32.SimpleMAPI: instance GHC.Show.Show System.Win32.SimpleMAPI.RecipientClass
+ System.Win32.Time: [tziBias] :: TIME_ZONE_INFORMATION -> LONG
+ System.Win32.Time: [tziDaylightBias] :: TIME_ZONE_INFORMATION -> LONG
+ System.Win32.Time: [tziDaylightDate] :: TIME_ZONE_INFORMATION -> SYSTEMTIME
+ System.Win32.Time: [tziDaylightName] :: TIME_ZONE_INFORMATION -> String
+ System.Win32.Time: [tziStandardBias] :: TIME_ZONE_INFORMATION -> LONG
+ System.Win32.Time: [tziStandardDate] :: TIME_ZONE_INFORMATION -> SYSTEMTIME
+ System.Win32.Time: [tziStandardName] :: TIME_ZONE_INFORMATION -> String
+ System.Win32.Time: [wYear, wMonth, wDayOfWeek, wDay, wHour, wMinute, wSecond, wMilliseconds] :: SYSTEMTIME -> WORD
+ System.Win32.Time: instance Foreign.Storable.Storable System.Win32.Time.FILETIME
+ System.Win32.Time: instance Foreign.Storable.Storable System.Win32.Time.SYSTEMTIME
+ System.Win32.Time: instance Foreign.Storable.Storable System.Win32.Time.TIME_ZONE_INFORMATION
+ System.Win32.Time: instance GHC.Classes.Eq System.Win32.Time.FILETIME
+ System.Win32.Time: instance GHC.Classes.Eq System.Win32.Time.SYSTEMTIME
+ System.Win32.Time: instance GHC.Classes.Eq System.Win32.Time.TIME_ZONE_INFORMATION
+ System.Win32.Time: instance GHC.Classes.Eq System.Win32.Time.TimeZoneId
+ System.Win32.Time: instance GHC.Classes.Ord System.Win32.Time.FILETIME
+ System.Win32.Time: instance GHC.Classes.Ord System.Win32.Time.SYSTEMTIME
+ System.Win32.Time: instance GHC.Classes.Ord System.Win32.Time.TIME_ZONE_INFORMATION
+ System.Win32.Time: instance GHC.Classes.Ord System.Win32.Time.TimeZoneId
+ System.Win32.Time: instance GHC.Show.Show System.Win32.Time.FILETIME
+ System.Win32.Time: instance GHC.Show.Show System.Win32.Time.SYSTEMTIME
+ System.Win32.Time: instance GHC.Show.Show System.Win32.Time.TIME_ZONE_INFORMATION
+ System.Win32.Time: instance GHC.Show.Show System.Win32.Time.TimeZoneId
+ System.Win32.Types: _open_osfhandle :: CIntPtr -> CInt -> IO CInt
+ System.Win32.Types: c_get_osfhandle :: CInt -> IO HANDLE
+ System.Win32.Types: hANDLEToHandle :: HANDLE -> IO Handle
+ System.Win32.Types: withHandleToHANDLE :: Handle -> (HANDLE -> IO a) -> IO a
+ System.Win32.Types: withStablePtr :: a -> (StablePtr a -> IO b) -> IO b
- System.Win32.DebugApi: peekP :: Storable a => PHANDLE -> ForeignAddress -> IO a
+ System.Win32.DebugApi: peekP :: (Storable a) => PHANDLE -> ForeignAddress -> IO a
- System.Win32.DebugApi: pokeP :: Storable a => PHANDLE -> ForeignAddress -> a -> IO ()
+ System.Win32.DebugApi: pokeP :: (Storable a) => PHANDLE -> ForeignAddress -> a -> IO ()
- System.Win32.File: BY_HANDLE_FILE_INFORMATION :: FileAttributeOrFlag -> FILETIME -> FILETIME -> FILETIME -> DWORD -> DDWORD -> DWORD -> DDWORD -> BY_HANDLE_FILE_INFORMATION
+ System.Win32.File: BY_HANDLE_FILE_INFORMATION :: FileAttributeOrFlag -> FILETIME -> DWORD -> DDWORD -> DWORD -> DDWORD -> BY_HANDLE_FILE_INFORMATION
- System.Win32.File: WIN32_FILE_ATTRIBUTE_DATA :: DWORD -> FILETIME -> FILETIME -> FILETIME -> DDWORD -> WIN32_FILE_ATTRIBUTE_DATA
+ System.Win32.File: WIN32_FILE_ATTRIBUTE_DATA :: DWORD -> FILETIME -> DDWORD -> WIN32_FILE_ATTRIBUTE_DATA
- System.Win32.Info: SYSTEM_INFO :: ProcessorArchitecture -> DWORD -> LPVOID -> LPVOID -> DWORD -> DWORD -> DWORD -> DWORD -> WORD -> WORD -> SYSTEM_INFO
+ System.Win32.Info: SYSTEM_INFO :: ProcessorArchitecture -> DWORD -> LPVOID -> DWORD -> DWORD -> DWORD -> DWORD -> WORD -> WORD -> SYSTEM_INFO
- System.Win32.Time: SYSTEMTIME :: WORD -> WORD -> WORD -> WORD -> WORD -> WORD -> WORD -> WORD -> SYSTEMTIME
+ System.Win32.Time: SYSTEMTIME :: WORD -> SYSTEMTIME

Files

System/Win32/Automation/Input.hsc view
@@ -25,7 +25,6 @@ import System.Win32.Automation.Input.Key
 import System.Win32.Automation.Input.Mouse ( MOUSEINPUT )
 import System.Win32.Automation.Input.Mouse hiding ( MOUSEINPUT(..) )
-import qualified System.Win32.Automation.Input.Mouse
 import System.Win32.Types        ( UINT, LPARAM, failIfZero )
 import System.Win32.Word         ( DWORD, WORD )
 
System/Win32/Types.hsc view
@@ -21,20 +21,27 @@         , nullPtr         ) where -import Control.Exception (throwIO)+import Control.Concurrent.MVar (readMVar)+import Control.Exception (bracket, throwIO) import Data.Bits (shiftL, shiftR, (.|.), (.&.)) import Data.Char (isSpace) import Data.Int (Int32, Int64, Int16) import Data.Maybe (fromMaybe)+import Data.Typeable (cast) import Data.Word (Word8, Word16, Word32, Word64) import Foreign.C.Error (Errno(..), errnoToIOError) import Foreign.C.String (newCWString, withCWStringLen) import Foreign.C.String (peekCWString, peekCWStringLen, withCWString)-import Foreign.C.Types (CChar, CUChar, CWchar, CInt(..), CIntPtr, CUIntPtr)+import Foreign.C.Types (CChar, CUChar, CWchar, CInt(..), CIntPtr(..), CUIntPtr) import Foreign.ForeignPtr (ForeignPtr, newForeignPtr, newForeignPtr_)-import Foreign.Ptr (FunPtr, Ptr, nullPtr)+import Foreign.Ptr (FunPtr, Ptr, nullPtr, ptrToIntPtr)+import Foreign.StablePtr (StablePtr, freeStablePtr, newStablePtr) import Foreign (allocaArray)+import GHC.IO.FD (FD(..))+import GHC.IO.Handle.FD (fdToHandle)+import GHC.IO.Handle.Types (Handle(..), Handle__(..)) import Numeric (showHex)+import qualified System.IO as IO () import System.IO.Error (ioeSetErrorString) import System.IO.Unsafe (unsafePerformIO) @@ -51,6 +58,7 @@ finiteBitSize = bitSize #endif +#include <fcntl.h> #include <windows.h> ##include "windows_cconv.h" @@ -212,6 +220,60 @@  iNVALID_HANDLE_VALUE :: HANDLE iNVALID_HANDLE_VALUE = castUINTPtrToPtr (-1)++foreign import ccall "_open_osfhandle"+  _open_osfhandle :: CIntPtr -> CInt -> IO CInt++-- | 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 'IO.stdin', 'IO.stdout', or 'IO.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 @'IO.stdout' == stdout2@.+hANDLEToHandle :: HANDLE -> IO Handle+hANDLEToHandle handle =+  _open_osfhandle (fromIntegral (ptrToIntPtr handle)) (#const _O_BINARY) >>= fdToHandle++foreign import ccall unsafe "_get_osfhandle"+  c_get_osfhandle :: CInt -> IO HANDLE++-- | Extract a Windows 'HANDLE' from a Haskell 'Handle' and perform+-- an action on it.++-- Originally authored by Max Bolingbroke in the ansi-terminal library+withHandleToHANDLE :: Handle -> (HANDLE -> IO a) -> IO a+withHandleToHANDLE haskell_handle action =+    -- Create a stable pointer to the Handle. This prevents the garbage collector+    -- getting to it while we are doing horrible manipulations with it, and hence+    -- stops it being finalized (and closed).+    withStablePtr haskell_handle $ const $ do+        -- Grab the write handle variable from the Handle+        let write_handle_mvar = case haskell_handle of+                FileHandle _ handle_mvar     -> handle_mvar+                DuplexHandle _ _ handle_mvar -> handle_mvar+                  -- This is "write" MVar, we could also take the "read" one++        -- Get the FD from the algebraic data type+        Just fd <- fmap (\(Handle__ { haDevice = dev }) -> fmap fdFD (cast dev))+                 $ readMVar write_handle_mvar++        -- Finally, turn that (C-land) FD into a HANDLE using msvcrt+        windows_handle <- c_get_osfhandle fd++        -- Do what the user originally wanted+        action windows_handle++withStablePtr :: a -> (StablePtr a -> IO b) -> IO b+withStablePtr value = bracket (newStablePtr value) freeStablePtr  ---------------------------------------------------------------- -- Errors
Win32.cabal view
@@ -1,5 +1,5 @@ name:		Win32-version:	2.5.0.0+version:	2.5.1.0 license:	BSD3 license-file:	LICENSE author:		Alastair Reid, shelarcy
changelog.md view
@@ -1,5 +1,10 @@ # Changelog for [`Win32` package](http://hackage.haskell.org/package/Win32) +## 2.5.1.0 *Feb 2017*++* Add `withHandleToHANDLE` (originally found in the `ansi-terminal` library)+* fixed `PokeTZI` test+ ## 2.5.0.0 *Jan 2017*  * `failWith` (and the API calls that use it) now throw `IOError`s with proper