Win32API::File v0.07 -- Low-level access to Win32 API calls for files.
This binary distribution is for use with the old binary distribution
of Perl5.004_02 from Gurusamy Sarathy.
Low-level and full-power access to the following routines are provided:
CloseHandle CopyFile CreateFile
DefineDosDevice DeleteFile DeviceIoControl
GetDriveType GetFileType GetLogicalDrives
GetLogicalDriveStrings GetVolumeInformation IsRecognizedPartition
IsContainerPartition MoveFile MoveFileEx
QueryDosDevice ReadFile SetFilePointer
SetErrorMode WriteFile
Plus the Unicode versions:
CopyFileW CreateFileW DefineDosDeviceW
DeleteFileW GetDriveTypeW GetLogicalDriveStringsW
GetVolumeInformationW MoveFileW MoveFileExW
QueryDosDeviceW
Full conversion between Win32-native file handles and Perl file handles is
also supported. Access to the following C run-time library routines [or at
least the Perl run-time library wrappers for them] is provided:
_get_osfhandle or win32_get_osfhandle as FdGetOsFHandle
_open_osfhandle or win32_open_osfhandle as OsFHandleOpenFd
The following Perl-friendly wrappers and helper functions are also provided:
OsFHandleOpen GetOsFHandle
attrLetsToBits createFile getLogicalDrives
Plus the following constants:
CREATE_ALWAYS CREATE_NEW FILE_BEGIN
FILE_CURRENT FILE_END INVALID_HANDLE_VALUE
OPEN_ALWAYS OPEN_EXISTING TRUNCATE_EXISTING
DDD_EXACT_MATCH_ON_REMOVE DDD_RAW_TARGET_PATH
DDD_REMOVE_DEFINITION
DRIVE_UNKNOWN DRIVE_NO_ROOT_DIR DRIVE_REMOVABLE
DRIVE_FIXED DRIVE_REMOTE DRIVE_CDROM
DRIVE_RAMDISK
FILE_READ_DATA FILE_LIST_DIRECTORY
FILE_WRITE_DATA FILE_ADD_FILE
FILE_APPEND_DATA FILE_ADD_SUBDIRECTORY
FILE_CREATE_PIPE_INSTANCE FILE_READ_EA
FILE_WRITE_EA FILE_EXECUTE
FILE_TRAVERSE FILE_DELETE_CHILD
FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES
FILE_ALL_ACCESS FILE_GENERIC_READ
FILE_GENERIC_WRITE FILE_GENERIC_EXECUTE
FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_COMPRESSED
FILE_ATTRIBUTE_HIDDEN FILE_ATTRIBUTE_NORMAL
FILE_ATTRIBUTE_OFFLINE FILE_ATTRIBUTE_READONLY
FILE_ATTRIBUTE_SYSTEM FILE_ATTRIBUTE_TEMPORARY
FILE_FLAG_BACKUP_SEMANTICS FILE_FLAG_DELETE_ON_CLOSE
FILE_FLAG_NO_BUFFERING FILE_FLAG_OVERLAPPED
FILE_FLAG_POSIX_SEMANTICS FILE_FLAG_RANDOM_ACCESS
FILE_FLAG_SEQUENTIAL_SCAN FILE_FLAG_WRITE_THROUGH
FILE_SHARE_DELETE FILE_SHARE_READ FILE_SHARE_WRITE
FILE_TYPE_CHAR FILE_TYPE_DISK FILE_TYPE_PIPE
FILE_TYPE_UNKNOWN
FS_CASE_IS_PRESERVED FS_CASE_SENSITIVE
FS_UNICODE_STORED_ON_DISK FS_PERSISTENT_ACLS
FS_FILE_COMPRESSION FS_VOL_IS_COMPRESSED
IOCTL_STORAGE_CHECK_VERIFY IOCTL_STORAGE_MEDIA_REMOVAL
IOCTL_STORAGE_EJECT_MEDIA IOCTL_STORAGE_LOAD_MEDIA
IOCTL_STORAGE_RESERVE IOCTL_STORAGE_RELEASE
IOCTL_STORAGE_FIND_NEW_DEVICES IOCTL_STORAGE_GET_MEDIA_TYPES
IOCTL_DISK_GET_DRIVE_GEOMETRY IOCTL_DISK_GET_PARTITION_INFO
IOCTL_DISK_SET_PARTITION_INFO IOCTL_DISK_GET_DRIVE_LAYOUT
IOCTL_DISK_SET_DRIVE_LAYOUT IOCTL_DISK_VERIFY
IOCTL_DISK_FORMAT_TRACKS IOCTL_DISK_REASSIGN_BLOCKS
IOCTL_DISK_PERFORMANCE IOCTL_DISK_IS_WRITABLE
IOCTL_DISK_LOGGING IOCTL_DISK_FORMAT_TRACKS_EX
IOCTL_DISK_HISTOGRAM_STRUCTURE IOCTL_DISK_HISTOGRAM_DATA
IOCTL_DISK_HISTOGRAM_RESET IOCTL_DISK_REQUEST_STRUCTURE
IOCTL_DISK_REQUEST_DATA
GENERIC_ALL GENERIC_EXECUTE
GENERIC_READ GENERIC_WRITE
Unknown F5_1Pt2_512 F3_1Pt44_512
F3_2Pt88_512 F3_20Pt8_512 F3_720_512
F5_360_512 F5_320_512 F5_320_1024
F5_180_512 F5_160_512 RemovableMedia
FixedMedia F3_120M_512
MOVEFILE_COPY_ALLOWED MOVEFILE_DELAY_UNTIL_REBOOT
MOVEFILE_REPLACE_EXISTING MOVEFILE_WRITE_THROUGH
SECURITY_ANONYMOUS SECURITY_CONTEXT_TRACKING
SECURITY_DELEGATION SECURITY_EFFECTIVE_ONLY
SECURITY_IDENTIFICATION SECURITY_IMPERSONATION
SECURITY_SQOS_PRESENT
SEM_FAILCRITICALERRORS SEM_NOGPFAULTERRORBOX
SEM_NOALIGNMENTFAULTEXCEPT SEM_NOOPENFILEERRORBOX
PARTITION_ENTRY_UNUSED PARTITION_FAT_12
PARTITION_XENIX_1 PARTITION_XENIX_2
PARTITION_FAT_16 PARTITION_EXTENDED
PARTITION_HUGE PARTITION_IFS
PARTITION_FAT32 PARTITION_FAT32_XINT13
PARTITION_XINT13 PARTITION_XINT13_EXTENDED
PARTITION_PREP PARTITION_UNIX
VALID_NTFT PARTITION_NTFT
Comments, additions, and bug reports are welcomed. Please address
technical questions that are not full bug reports to one of the Usenet
newsgroups comp.lang.perl.modules or comp.lang.perl.moderated.