-
Notifications
You must be signed in to change notification settings - Fork 8
/
README
136 lines (103 loc) · 4.57 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
Win32API::File v0.1202 -- Low-level access to Win32 API calls for files.
New since v0.07:
GetHandleInformation SetHandleInformation
HANDLE_FLAG_INHERIT HANDLE_FLAG_PROTECT_FROM_CLOSE
fileConstant fileLastError
Low-level and full-power access to the following routines are provided:
CloseHandle CopyFile CreateFile
DefineDosDevice DeleteFile DeviceIoControl
GetDriveType GetFileType GetHandleInformation
GetLogicalDrives GetLogicalDriveStrings GetVolumeInformation
IsRecognizedPartition IsContainerPartition MoveFile
MoveFileEx QueryDosDevice ReadFile
SetFilePointer SetErrorMode SetHandleInformation
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 fileConstant fileLastError
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
HANDLE_FLAG_INHERIT HANDLE_FLAG_PROTECT_FROM_CLOSE
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
http://perlmonks.org/index.pl?node=Seekers%20of%20Perl%20Wisdom
Tye McQueen, [email protected], http://perlmonks.org/?node=tye.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.