This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
ead08d5080b9281c85ecc9b7bb0cf085eccf2afc
[perl5.git] / win32 / ext / Win32API / File / README
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
129 technical questions that are not full bug reports to one of the Usenet
130 newsgroups comp.lang.perl.modules or comp.lang.perl.moderated.
131
132 Tye McQueen, tye@metronet.com, http://www.metronet.com/~tye/.