= 1.2.1 - 25-Aug-2011 * The strcpy, mbscpy and wsccpy functions in the Windows::MSVCRT::String module have been made friendlier. They will now accept either a string or an address for the second argument. * Minor modification to one GetFinalPathNameByHandle test. = 1.2.0 - 24-Mar-2011 * All methods and constants are now private. These methods were never meant to be used by individual objects, but are only meant to be used internally. Note that, because of an issue currently in the windows-api library, some methods may still be currently public, but users of this library should not count on that for long. * Added the Windows::WSA and Windows::Socket modules. * Fixed the MAKEWORD and MAKELONG macro methods in the SystemInfo module. * Added many more functions and some constants to the Windows::Registry module. Thanks go to Dan Rathbun for the suggestion. * Fixed the HKEY_CURRENT_USER constant in the Windows::Registry module. * The custom GetFinalPathNameByHandle method for Windows XP and 2000 has been fixed and reworked. It is limited to a defacto VOLUME_NAME_NT flag value, however. See the comments for details. = 1.1.3 - 20-Jan-2011 * Added the windows_7? method to the Windows::SystemInfo module. * Some minor cosmetic updates to other files. = 1.1.2 - 6-Nov-2010 * Fixed a job security flag name. = 1.1.1 - 6-Nov-2010 * Added some security flags for Job objects to the Windows::Process module. * Added namespace functions to the Windows::Synchronize module. = 1.1.0 - 5-Nov-2010 * Added the get_volume_type method to the Windows::Volume module. * Added more tests for the Windows::Volume module. * Removed the non-gem installation task and added a clean task. = 1.0.9 - 6-Feb-2010 * A couple of modules that were checking against $KCODE now check against __ENCODING__ or the string encoding for Ruby 1.9.x. * Removed an indentation warning that was revealed by Ruby 1.9.x. * Refactored the Rakefile, scoping and adding additional tasks. * Updated some tests to handling Ruby 1.9.x better. All tests now pass without warning with 1.9.x. * Added SERVICE_ACCEPT_PRESHUTDOWN constant to service.rb. = 1.0.8 - 24-Aug-2009 * Several return value constants that were set at -1 are now set to 0xFFFFFFFF instead because win32-api returns unsigned longs. * Removed the two mailslot constants from the Windows::File module. They're defined in the Windows::Mailslot module. * Added the windows_version method to the Windows::SystemInfo module. It returns a float in 'major.minor' format. = 1.0.7 - 20-Aug-2009 * Added the Windows::Mailslot module. * The IsProcessInJob function in the Windows::Process module is now wrapped properly so that it doesn't cause an error on Windows 2000. Thanks go to Finbar Clenaghan for the spot. * Minor updates to the conversion guide. = 1.0.6 - 19-Jul-2009 * Added several job functions to the Windows::Process module. * Updated license to Artistic 2.0. = 1.0.5 - 21-May-2009 * Fixed VARIANT_TRUE value in the Windows::COM::Variant module. * Added some functions to the Windows::National module, and handled some Vista only functions properly. * Updated the return types of the SafeArrayCreate and SafeArrayCreateVector functions in the Windows::COM::Automation module. = 1.0.4 - 15-May-2009 * Created the Windows::COM::Variant module. * Created the Windows::COM::Accessibility module. * Added some IDispatch constants to the Windows::COM module. * Added some IDispatch error constants to the Windows::Error module. * Added many more constants to the Windows::COM::Automation module. * Added a couple of functions to the Windows::National module. * Corrected the return type for various SysXXX functions in the Windows::COM::Automation module. * Corrected the prototype for the RegEnumKeyEx function in the Windows::Registry module. = 1.0.3 - 23-Apr-2009 * Created the Windows::GDI::MetaFile module. * Added GetWindowLongPtr and SetWindowLongPtr to Windows::Window::Classes. * Added DefWindowProc to Windows::Window::Message. * Added more methods and format constants to the Windows::Clipboard module. * Added more methods to the Windows::GDI::Bitmap module. * Prototype update for DragQueryFile() in the Windows::Shell module. * Return type change for GetClipboardData in the Windows::Clipboard module. = 1.0.2 - 5-Mar-2009 * Fixed the library for the AttachThreadInput function in the Windows::Thread module. Thanks go to an anonymous user for the spot. * Added the beginnings of the Windows::Security::Authentication module. = 1.0.1 - 9-Feb-2009 * Added the Windows::Window::Menu module. * Added the Windows::Window::Classes module. * Added tests for several Windows::Window::XXX modules that weren't previously covered. * Now properly wraps some methods in the Windows::Network::Winsock module that weren't supported on Windows 2000. * Added the IsWow64Process function to the Windows::Process module. * Added the windows_64? helper method to the Windows::Process module. = 1.0.0 - 5-Feb-2009 * Fixed the prototype for DuplicateHandle() in the Windows::Handle module. = 0.9.9 - 1-Feb-2009 * Now explicitly checks for Win32::API::LoadLibraryError in the method declarations instead of Windows::API::Error. The latter no longer exists, and the former is a better way to check for methods that don't exist on particular versions of Windows. This change requires windows-api 0.3.0 and win32-api 1.3.0. * Added a few functions to the Windows::Security module. * Added the NtQuerySystemInformation function to the Windows::NTFS::Winternl module. * Added tests for the Windows::NTFS::Winternl module. * Declaration fix in Windows::Security module for Win2k. * Fixed a directory test for Win2k. = 0.9.8 - 15-Dec-2008 * Added many more functions and a few constants to the Windows::Security module. = 0.9.7 - 5-Dec-2008 * Renamed Windows::NTFS::File to Windows::NTFS::Winternl. * Updated the Windows::Network::Management and Windows::Shell modules to use the 'S' prototype where appropriate. * Updated the Windows::File module to use the 'S' prototype where appropriate. * Added the GetFinalPathNameByHandle function to the Windows::NTFS::Winternl module for Windows XP/2000. * Added a few new functions to the Windows::Volume module and converted 'P' prototypes to 'S' where appropriate. * Added SE_OBJECT_TYPE enumeration values to the Windows::Security module. = 0.9.6 - 14-Nov-2008 * Updated the RegisterServiceCtrlHandler and RegisterServiceCtrlHandlerEx prototypes in the Windows::Service module. Changed old 'P' prototype to 'K' for callbacks. * Added explicit ANSI and Wide character functions for GetFileSecurity and SetFileSecurity in the Windows::Security module (since automatic unicode generation is set to false for that particular module). * Added IO reparse point tag constants to the Windows::File module. * The multi_to_wide helper method in Windows::Unicode now returns the string as-is if it's already a Unicode string. * A couple 'P' prototypes were switched to 'S' in Windows::Unicode functions. = 0.9.5 - 21-Oct-2008 * Fixed the rescue clauses for unsupported functions for the Windows::Console and Windows::Debug modules. Thanks go to an anonymous user for the spot. * Added a couple functions to the Windows::File and Windows::NIO modules. * Removed the SetFilePointer and SetFilePointerEx functions from the Windows::File module since they're already in the Windows::NIO module. = 0.9.4 - 27-Sep-2008 * Added some macros from windef.h to the Windows::SystemInfo module. * Added the windows_2000?, windows_xp?, windows_2003? and windows_vista? helper methods to the Windows::SystemInfo module. * Added the umask and umask_s functions to the Windows::MSVCRT::File module. * Added SH_DENYNO and SHORT_LIVED constants to the Windows::MSVCRT::IO module. * Fixed the prototype for open and wopen in the Windows::MSVCRT::IO module. * Added SHGetFolderLocation to the Windows::Shell module. * Added NT privilege constants to the Windows::Security module. * The wide_to_multi helper function is now friendlier with regards to strings that may be missing a trailing double null. = 0.9.3 - 12-Sep-2008 * Added event logging functions for Windows Vista and later to the Windows::EventLog module. = 0.9.2 - 5-Sep-2008 * Added some WoW64 functions to Windows::File and Windows::SystemInfo. * All modules now rescue Windows::API::Error for failed function loads. I was previously inconsistent on just what error I was rescuing. = 0.9.1 - 28-Jul-2008 * Yet another refactoring of the multi_to_wide and wide_to_multi helper methods in the Windows::Unicode module. In addition to a bug fix, they now raise an ArgumentError if they fail. * Yet another tweak to get_last_error in the Windows::Error module. It now always uses the explicit ANSI version of the FormatMessage function. * Added tests for the multi_to_wide and wide_to_multi helper methods. = 0.9.0 - 26-Jul-2008 * The process of converting prototypes from 'P' to 'S' has begun. This means that this library now requires win32-api 1.2.0 or later. * Added the Windows::Window::Message module. * Added the Windows::Window::Timer module. * Added the Windows::Window::Dialog module. * Added many more functions and constants to the Windows::Security module. * All ACE related constants have been move from the Windows::File module and are instead defined in the Windows::Security module. Not to worry, though. The Windows::File module now mixes in the Windows::Security module. * Added several profile related functions to the Windows::Shell module. * Changed the prototype of ConvertSidToStringSid and ConvertStringSidToSid back to 'LP' in the Windows::Security module. I'm not sure why I changed those before. If this causes too much grief I'll change them back. = 0.8.7 - 23-Jun-2008 * Wide character fix for the get_last_error helper function. Thanks go to Dave Whitley for the spot. * Added local memory functions and constants to the Windows::Memory module. = 0.8.6 - 14-Jun-2008 * Added the Windows::Network::Winsock module. * Added the Windows::ToolHelper module. * Added CLSCTX enum constants to the Windows::COM module. * Added several WSA socket error constants to Windows::Error. * Moved the Process32First and Process32Next functions from Windows::Process to Windows::ToolHelper. = 0.8.5 - 28-May-2008 * Added more pipe related error codes to the Windows::Error module. * Added the FlushFileBuffers function to the Windows::File module. = 0.8.4 - 18-May-2008 * Added the Windows::NTFS::File module. * Added several IOCTL macro methods to the Windows::DeviceIO module. * Wrapped the GetLayeredWindowAttributes function in the Windows::Window module since it is only supported on Windows XP or later. * Fixed the CreateThread prototype with regards to callback support. = 0.8.3 - 26-Apr-2008 * Now requires windows-api 0.2.3 or later to take advantage of the improvements in auto constant generation. * Fixed a scope resolution bug in the custom memcpy method in the Windows::MSVCRT::Buffer module. * Added some more Windows::MSVCRT::String functions. * Added the FSCTL_ENUM_USN_DATA macro method in Windows::DeviceIO. * Some modules were refactored to take advantage of the improvements in windows-api 0.2.3. This resulted in a net reduction of code. = 0.8.2 - 17-Apr-2008 * Most of the MSVCRT modules now use the MSVCRT_DLL from the Windows::API library. This helps resolve an obscure bug where state information from a statically linked runtime DLL is local to that runtime and not shared with the Ruby process. * Now requires windows-api 0.2.2 or later. * Added more MSVCRT tests. = 0.8.1 - 27-Mar-2008 * Added waitable timer functions to the Windows::Synchronize module. * Fixed params 3 and 4 in the CreateProcess function. = 0.8.0 - 20-Jan-2008 * Added the Windows::COM::Automation module. * Moved Windows::NetworkManagement to Windows::Network::Management. * Added the Windows::Network::SNMP module. * Added a MAXPATH constant to Windows::Limits, which is variable depending on whether or not $KCODE is set to UTF8. * Added some macro methods to Windows::Error. * Added many more methods to Windows::COM. * Fixed the prototype for the SetConsoleCtrlHandler in the Windows::Console module, and added the CTRL_CLOSE_EVENT constant. = 0.7.4 - 11-Dec-2007 * Added several more functions to Windows::Window. * Added many more constants to the Windows::NetworkManagement module. * Added several more functions and a few constants to the Windows::Process module. * The multi_to_wide and wide_to_multi methods in Windows::Unicode will now return nil if you pass a nil argument. Also, they will raise a TypeError if you pass a non-nil, non-string object. = 0.7.3 - 23-Nov-2007 * Several thread related methods were moved out of the Windows::Process module and into the Windows::Thread module. * Added critical section methods to the Windows::Synchronize module. * Added many more constants and methods to the Windows::Shell module. * Created the Windows::Thread module. * Fixed the PathCreateFromUrl return type in the Windows::Path module. * Added the strncpy and wcsncpy functions to the Windows::MSVCRT::String module. * Added several token related methods and constants to the Windows::Security module. * The multi_to_wide and wide_to_multi methods were refactored slightly. Both now only use MSVCRT string functions internally in case any Ruby String methods are redefined. = 0.7.2 - 15-Oct-2007 * Added the Windows::MSVCRT::Time module. * Added the Windows::MSVCRT::Directory module. * Added some SID related security constants to the Windows::Security module. * Added more constants and the HasOverlappedIoCompleted macro to the Windows::Synchronize module. * Added some 'find' methods to the Windows::File module. * Some prototype fixes for the 'Virtual' functions in Windows::Memory. = 0.7.1 - 21-Sep-2007 * Added USN (changejournal) macros to Windows::DeviceIO. * Added the Heap functions to Windows::Memory. * Added the Windows::Time module. * Added a Rakefile with tasks for installation and testing. * Added and refactored some tests. = 0.7.0 - 9-Aug-2007 * All modules now use the windows-api library behind the scenes. * Added the Windows::NIO module. This contains native Windows IO functions. * Added several more functions to the Windows::GDI::PaintDrawing module. * Fixed the prototype for the GetWindowsDirectory function in the Windows::SystemInfo module. = 0.6.6 - 3-May-2007 * Added the Windows::MSVCRT::IO module. * Removed the SetConsoleCommandHistoryMode method from the Windows::Console module. This was a preliminary function for Vista only, and it has since been removed. Thanks go to Drew Colthorp for the spot. = 0.6.5 - 28-Feb-2007 * Important bug fixes for the Windows::Directory, Windows::Memory, Windows::Synchronize and Windows::Volume modules. These were either fixes for the function declaration or the wrapper method. Thanks go to Katsuyuki Miyamuko for the spot and the patches. = 0.6.4 - 28-Feb-2007 * Add more string functions to the Windows::MSVCRT::String module. * Minor enhancement to the multi_to_wide and wide_to_multi helper methods in the Windows::Unicode module. You can now pass an explicit encoding as an optional second argument. * Added several more methods to the Windows::National module. * Finer grained method wrapping/checking for the Windows::Volume module. Thanks go to Dave Rose for the spot. = 0.6.3 - 2-Feb-2007 * Fixed the DLL for SetLastErrorEx in the Windows::Error module. * Fixed an unitialized constant bug in the Windows::DeviceIO module. * Fixed a bug in the NetWkstaSetInfo() method, from the Windows::NetworkManagement module. Thanks go to Richard (???) for the spot. * Added more security related methods and constants to the Windows::Security module. * Fixed a bug in the GetComputerName method in the Windows::SystemInfo module. Thanks go to Russell Christopher for the spot and the fix. * Changed method prototype for GetUserName and GetUserNameEx in the Windows::SystemInfo module. * Added the PIPE_UNLIMITED_INSTANCES constant to the Windows::Pipe module. * Altered the prototype for the ConvertSidToStringSid() and ConvertStringSidToSid() methods from the Windows::Security module. = 0.6.2 - 21-Dec-2006 * Added file related constants from sys/stat.h to the Windows::MSVCRT::File module. * Added the open_osfhandle method to the Windows::Handle module. * Changed the signatures for the VirtualFree and VirtualFreeEx functions in the Windows::Memory module. * Added the Windows::GDI::Bitmap, Windows::GDI::DeviceContext and Windows::GDI::PaintingDrawing modules. = 0.6.1 - 22-Nov-2006 * Changed the signature for VirtualAlloc and VirtualAllocEx in the Windows::Memory module (long instead of pointer for first argument). * Added the get_osfhandle method to the Windows::Handle module. = 0.6.0 - 5-Nov-2006 * Added the Windows::Volume module. = 0.5.6 - 22-Oct-2006 * Modified the memcpy method in Windows::MSVCRT::Buffer to do the right thing based on the type of the parameters, as well as automatically set the default size to the size of the source being copied. = 0.5.5 - 11-Oct-2006 * Prototype modification for VirtualQuery and VirtualQueryEx in the Windows::Memory module. = 0.5.4 - 8-Sep-2006 * Added the Windows::NetworkManagement module, which contains methods like NetUserAdd(), etc. * Fixed bugs in SetLastError and SetLastErrorEx declarations. * Finer grained method wrapping/checking for the Windows::Library module. * Finer grained method wrapping/checking for the Windows::Console module. * Added a test case for the Windows::Library module. * Added the LOCKFILE_EXCLUSIVE_LOCK and LOCKFILE_FAIL_IMMEDIATELY constants to the Windows::File module. = 0.5.3 - 10-Aug-2006 * Added wide character functions to the EventLog module. * Added a test suite for the EventLog module. * Fixed method wrapper for MapViewOfFileEx. * Finer grained method wrapping/checking for the Windows::Registry module (the RegSaveKeyEx might not be defined). = 0.5.2 - 29-Jul-2006 * Prototype fixes/changes for CreateProcess, GlobalLock, GlobalMemoryStatusEx, and CreateFileMapping. * Finer grained method wrapping/checking for the Windows::Process module (only two methods might not be defined). * Added method wrappers for the Handle constants. * Added mmap related methods and constants. * Added more test cases. * Added wide character methods to the Windows::Directory class. * Added wide character helper methods. * Added a few more methods to MSVCRT::String. = 0.5.1 - 26-May-2006 * Minor updates and fixes for the Unicode and DeviceIO modules. * Added some wide character support, based on $KCODE values (which should not be used at this time). = 0.5.0 - 23-May-2006 * Added the Registry module * Added the EventLog module * Added the National module * Added the SystemInfo module = 0.4.0 - 7-May-2006 * Bug fix for the WaitForMultipleObjects method in synchronize.rb * Added the Window module (just a few constants for now) * Added the Console module (AttachConsole, etc) * Added the Library module (LoadLibrary, etc) * Added the Directory module (CreateDirectory, etc) * Added the Shell module (some constants, a few methods for now) * Added the Unicode module (WideCharToMultiByte, etc) * Added process creation, priority and startf flags to the Process module = 0.3.0 - 22-Apr-2006 * Added the Limits module. * Added the Security module. * Fixed a signature bug in the MSVCRT/Buffer module. = 0.2.0 - 13-Apr-2006 * Added the FileSystem module. * Fixed signature and dll mistakes in the File module. = 0.1.0 - 4-Apr-2006 * Initial release