Commit | Line | Data |
00701878 |
1 | Win32API::File v0.08 -- Low-level access to Win32 API calls for files. |
2 | |
3 | New since v0.07: |
4 | |
5 | GetHandleInformation SetHandleInformation |
6 | HANDLE_FLAG_INHERIT HANDLE_FLAG_PROTECT_FROM_CLOSE |
7 | fileConstant fileLastError |
8 | |
9 | Low-level and full-power access to the following routines are provided: |
10 | |
11 | CloseHandle CopyFile CreateFile |
12 | DefineDosDevice DeleteFile DeviceIoControl |
13 | GetDriveType GetFileType GetHandleInformation |
14 | GetLogicalDrives GetLogicalDriveStrings GetVolumeInformation |
15 | IsRecognizedPartition IsContainerPartition MoveFile |
16 | MoveFileEx QueryDosDevice ReadFile |
17 | SetFilePointer SetErrorMode SetHandleInformation |
18 | WriteFile |
19 | |
20 | Plus the Unicode versions: |
21 | |
22 | CopyFileW CreateFileW DefineDosDeviceW |
23 | DeleteFileW GetDriveTypeW GetLogicalDriveStringsW |
24 | GetVolumeInformationW MoveFileW MoveFileExW |
25 | QueryDosDeviceW |
26 | |
27 | Full conversion between Win32-native file handles and Perl file handles is |
28 | also supported. Access to the following C run-time library routines [or at |
29 | least the Perl run-time library wrappers for them] is provided: |
30 | |
31 | _get_osfhandle or win32_get_osfhandle as FdGetOsFHandle |
32 | _open_osfhandle or win32_open_osfhandle as OsFHandleOpenFd |
33 | |
34 | The following Perl-friendly wrappers and helper functions are also provided: |
35 | |
36 | OsFHandleOpen GetOsFHandle attrLetsToBits |
37 | createFile fileConstant fileLastError |
38 | getLogicalDrives |
39 | |
40 | Plus the following constants: |
41 | |
42 | CREATE_ALWAYS CREATE_NEW FILE_BEGIN |
43 | FILE_CURRENT FILE_END INVALID_HANDLE_VALUE |
44 | OPEN_ALWAYS OPEN_EXISTING TRUNCATE_EXISTING |
45 | |
46 | DDD_EXACT_MATCH_ON_REMOVE DDD_RAW_TARGET_PATH |
47 | DDD_REMOVE_DEFINITION |
48 | |
49 | DRIVE_UNKNOWN DRIVE_NO_ROOT_DIR DRIVE_REMOVABLE |
50 | DRIVE_FIXED DRIVE_REMOTE DRIVE_CDROM |
51 | DRIVE_RAMDISK |
52 | |
53 | FILE_READ_DATA FILE_LIST_DIRECTORY |
54 | FILE_WRITE_DATA FILE_ADD_FILE |
55 | FILE_APPEND_DATA FILE_ADD_SUBDIRECTORY |
56 | FILE_CREATE_PIPE_INSTANCE FILE_READ_EA |
57 | FILE_WRITE_EA FILE_EXECUTE |
58 | FILE_TRAVERSE FILE_DELETE_CHILD |
59 | FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES |
60 | FILE_ALL_ACCESS FILE_GENERIC_READ |
61 | FILE_GENERIC_WRITE FILE_GENERIC_EXECUTE |
62 | |
63 | FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_COMPRESSED |
64 | FILE_ATTRIBUTE_HIDDEN FILE_ATTRIBUTE_NORMAL |
65 | FILE_ATTRIBUTE_OFFLINE FILE_ATTRIBUTE_READONLY |
66 | FILE_ATTRIBUTE_SYSTEM FILE_ATTRIBUTE_TEMPORARY |
67 | |
68 | FILE_FLAG_BACKUP_SEMANTICS FILE_FLAG_DELETE_ON_CLOSE |
69 | FILE_FLAG_NO_BUFFERING FILE_FLAG_OVERLAPPED |
70 | FILE_FLAG_POSIX_SEMANTICS FILE_FLAG_RANDOM_ACCESS |
71 | FILE_FLAG_SEQUENTIAL_SCAN FILE_FLAG_WRITE_THROUGH |
72 | |
73 | FILE_SHARE_DELETE FILE_SHARE_READ FILE_SHARE_WRITE |
74 | |
75 | FILE_TYPE_CHAR FILE_TYPE_DISK FILE_TYPE_PIPE |
76 | FILE_TYPE_UNKNOWN |
77 | |
78 | FS_CASE_IS_PRESERVED FS_CASE_SENSITIVE |
79 | FS_UNICODE_STORED_ON_DISK FS_PERSISTENT_ACLS |
80 | FS_FILE_COMPRESSION FS_VOL_IS_COMPRESSED |
81 | |
82 | HANDLE_FLAG_INHERIT HANDLE_FLAG_PROTECT_FROM_CLOSE |
83 | |
84 | IOCTL_STORAGE_CHECK_VERIFY IOCTL_STORAGE_MEDIA_REMOVAL |
85 | IOCTL_STORAGE_EJECT_MEDIA IOCTL_STORAGE_LOAD_MEDIA |
86 | IOCTL_STORAGE_RESERVE IOCTL_STORAGE_RELEASE |
87 | IOCTL_STORAGE_FIND_NEW_DEVICES IOCTL_STORAGE_GET_MEDIA_TYPES |
88 | |
89 | IOCTL_DISK_GET_DRIVE_GEOMETRY IOCTL_DISK_GET_PARTITION_INFO |
90 | IOCTL_DISK_SET_PARTITION_INFO IOCTL_DISK_GET_DRIVE_LAYOUT |
91 | IOCTL_DISK_SET_DRIVE_LAYOUT IOCTL_DISK_VERIFY |
92 | IOCTL_DISK_FORMAT_TRACKS IOCTL_DISK_REASSIGN_BLOCKS |
93 | IOCTL_DISK_PERFORMANCE IOCTL_DISK_IS_WRITABLE |
94 | IOCTL_DISK_LOGGING IOCTL_DISK_FORMAT_TRACKS_EX |
95 | IOCTL_DISK_HISTOGRAM_STRUCTURE IOCTL_DISK_HISTOGRAM_DATA |
96 | IOCTL_DISK_HISTOGRAM_RESET IOCTL_DISK_REQUEST_STRUCTURE |
97 | IOCTL_DISK_REQUEST_DATA |
98 | |
99 | GENERIC_ALL GENERIC_EXECUTE |
100 | GENERIC_READ GENERIC_WRITE |
101 | |
102 | Unknown F5_1Pt2_512 F3_1Pt44_512 |
103 | F3_2Pt88_512 F3_20Pt8_512 F3_720_512 |
104 | F5_360_512 F5_320_512 F5_320_1024 |
105 | F5_180_512 F5_160_512 RemovableMedia |
106 | FixedMedia F3_120M_512 |
107 | |
108 | MOVEFILE_COPY_ALLOWED MOVEFILE_DELAY_UNTIL_REBOOT |
109 | MOVEFILE_REPLACE_EXISTING MOVEFILE_WRITE_THROUGH |
110 | |
111 | SECURITY_ANONYMOUS SECURITY_CONTEXT_TRACKING |
112 | SECURITY_DELEGATION SECURITY_EFFECTIVE_ONLY |
113 | SECURITY_IDENTIFICATION SECURITY_IMPERSONATION |
114 | SECURITY_SQOS_PRESENT |
115 | |
116 | SEM_FAILCRITICALERRORS SEM_NOGPFAULTERRORBOX |
117 | SEM_NOALIGNMENTFAULTEXCEPT SEM_NOOPENFILEERRORBOX |
118 | |
119 | PARTITION_ENTRY_UNUSED PARTITION_FAT_12 |
120 | PARTITION_XENIX_1 PARTITION_XENIX_2 |
121 | PARTITION_FAT_16 PARTITION_EXTENDED |
122 | PARTITION_HUGE PARTITION_IFS |
123 | PARTITION_FAT32 PARTITION_FAT32_XINT13 |
124 | PARTITION_XINT13 PARTITION_XINT13_EXTENDED |
125 | PARTITION_PREP PARTITION_UNIX |
126 | VALID_NTFT PARTITION_NTFT |
127 | |
128 | Comments, additions, and bug reports are welcomed. Please address |
fa191b07 |
129 | technical questions that are not full bug reports to |
130 | |
131 | http://perlmonks.org/index.pl?node=Seekers%20of%20Perl%20Wisdom |
00701878 |
132 | |
133 | Tye McQueen, tye@metronet.com, http://www.metronet.com/~tye/. |