Function Reference


_WinAPI_GetFileInformationByHandle

Retrieves file information for the specified file

#include <WinAPIFiles.au3>
_WinAPI_GetFileInformationByHandle ( $hFile )

Parameters

$hFile Handle to the file that contains the information to be retrieved.

Return Value

Success: The array containing the following information:
[0] - The file attributes (FILE_ATTRIBUTE_*).
[1] - $tagFILETIME structure that specifies when a file or directory is created.
[2] - $tagFILETIME structure that specifies the last time that a file is read from or written to.
[3] - $tagFILETIME structure that specifies the last time that a file is written to.
[4] - The serial number of the volume that contains a file.
[5] - The file size.
[6] - The number of links to this file.
[7] - The unique identifier that is associated with a file.
Failure: Sets the @error flag to non-zero, call _WinAPI_GetLastError() to get extended error information.

See Also

Search GetFileInformationByHandle in MSDN Library.

Example

#include <Date.au3>
#include <WinAPIFiles.au3>

Local $hFile = _WinAPI_CreateFile(@ScriptFullPath, 2, 0, 6)
Local $aInfo = _WinAPI_GetFileInformationByHandle($hFile)
If IsArray($aInfo) Then
    For $i = 1 To 3
        If IsDllStruct($aInfo[$i]) Then
            Local $tFILETIME = _Date_Time_FileTimeToLocalFileTime($aInfo[$i])
            $aInfo[$i] = _Date_Time_FileTimeToSystemTime($tFILETIME)
            $aInfo[$i] = _Date_Time_SystemTimeToDateTimeStr($aInfo[$i])
        Else
            $aInfo[$i] = 'Unknown'
        EndIf
    Next
    ConsoleWrite('!Path:          ' & _WinAPI_GetFinalPathNameByHandle($hFile) & @CRLF)
    ConsoleWrite('!Attributes:    0x' & Hex($aInfo[0], 8) & @CRLF)
    ConsoleWrite('!Created:       ' & $aInfo[1] & @CRLF)
    ConsoleWrite('!Accessed:      ' & $aInfo[2] & @CRLF)
    ConsoleWrite('!Modified:      ' & $aInfo[3] & @CRLF)
    ConsoleWrite('!Volume serial: ' & $aInfo[4] & @CRLF)
    ConsoleWrite('!Size:          ' & $aInfo[5] & @CRLF)
    ConsoleWrite('!Links:         ' & $aInfo[6] & @CRLF)
    ConsoleWrite('!ID:            ' & $aInfo[7] & @CRLF)
EndIf
_WinAPI_CloseHandle($hFile)