PackageDescription: Win32FileSystem

Win 3 2 File System

Last published: July 27, 2015 by 'hguhl'

Defines 1 Classes
Extends 3 Classes

This parcel implements access to file system oriented library functions of MS Windows:
(1) Read/write access to file attributes (which is well implemented for unix systems).
(2) Reimplementation of PCFilename>>copyTo: using MS Windows library calls. The original implementation effectively creates a new file with all source data transferred to the new file. This approach is insufficient for file properties (creation/modification timestamp etc.). Since #copyTo: is also used for moving files (see Filename>>moveTo:) you get a much better result: Moving a file should never create a real new copy.
(3) Support of CopyFileEx() with copy progress callback.

Version history:
1.10 (02-MAR-2015) Enhancement: Use W instead of A variants of CreateFile(), GetFileAttributes(), SetFileAttributes(); revise senders to pass W compliant arguments (#encodeWide:)

1.9 (02-MAR-2015) Maintenance. Enhancement: Add support of CopyFileEx with copy progress callback.
- fix Win32FileSystem #LPDWORD, #LPWORD (ref type was void*)
- fix Win32FileSystem class #setTime:ofFileNamed:to: (withdraw call of #GetLastError, done via _wincall mode of C call)
- add Win32FileSystem class #encodeWide: for calling of W-variants of C lib functions
- improve Win32FileSystem #CopyFileFrom:to:failIfExists:, replace Ascii variant CopyFileA with CopyFileW
- PCFilename #copyTo: (no longer send #asString, that's Win32FileSystem business)
- discard prerequisite Win32System (no longer necessary)
Enhance Win32FileSystem: Add support of CopyFileEx()

1.8 (17-OCT-2014) Maintenance: Use _wincall logic, discard more calls of #GetLastError
1.7 (30-APR-2014) Discard calls of #GetLastError, use _wincall instead for implicit call of GetLastError and #externalAccessFailedWith:
1.6 (26-JUN-2010) add Win32FileSystem class>>getSystemInfoForVolume: (utility for best qualification of a file volume)
1.5 (12-JUL-2009) Enhance Filename: Function to retrieve readable volumes
1.4 (28-APR-2009) Enhance Win32FileSystem class: Add volume label queries
1.3 (27-DEC-2007) Fixes, Enhance Win32FileSystem: Add drive type queries
1.2 (01-NOV-2006) Fix Win32FileSystem class>>getAttributesOfFileNamed:, added PCFilename>>getFileAttributes
1.1 (16-OCT-2005) Extend library support of Win32FileSystem: Make SetFileTime() usable
1.0 (10-OCT-2005) First release