Commit | Line | Data |
---|---|---|
00f02a57 | 1 | Win32API::File v0.1200 -- Low-level access to Win32 API calls for files. |
00701878 SH |
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 YO |
129 | technical questions that are not full bug reports to |
130 | ||
131 | http://perlmonks.org/index.pl?node=Seekers%20of%20Perl%20Wisdom | |
00701878 | 132 | |
00f02a57 | 133 | Tye McQueen, tye@metronet.com, http://perlmonks.org/?node=tye. |
3826db83 SH |
134 | |
135 | This program is free software; you can redistribute it and/or modify it | |
136 | under the same terms as Perl itself. |