C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
компонент GetFileInformationByHandle, компонент GetFileInformationByHandle
santa-san
  Отправлено: 18.09.2003, 12:04


Ученик-кочегар

Группа: Участник
Сообщений: 18



Народ у кого есть описание компонента GetFileInformationByHandle и примеры его использования. Киньте мыломю Плиззз
santa-san@mail.ru
Admin
Отправлено: 18.09.2003, 13:17


Владимир

Группа: Администратор
Сообщений: 1190



CODE

 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   OpenDialog->Execute();
   int hFile = FileOpen(OpenDialog->FileName, fmOpenRead);
   BY_HANDLE_FILE_INFORMATION hInfo;

   GetFileInformationByHandle((HANDLE)hFile, &hInfo);
   // и в структуре hInfo содержится информация про файл
   Label1->Caption = hInfo.nFileSizeLow;
   Label2->Caption = hInfo.dwVolumeSerialNumber;
   // и так далее...
}
//------------------------------------------------------



QUOTE

The BY_HANDLE_FILE_INFORMATION structure contains information retrieved by the GetFileInformationByHandle function.

typedef struct _BY_HANDLE_FILE_INFORMATION { // bhfi  
   DWORD    dwFileAttributes;
   FILETIME ftCreationTime;
   FILETIME ftLastAccessTime;
   FILETIME ftLastWriteTime;
   DWORD    dwVolumeSerialNumber;
   DWORD    nFileSizeHigh;
   DWORD    nFileSizeLow;
   DWORD    nNumberOfLinks;
   DWORD    nFileIndexHigh;
   DWORD    nFileIndexLow;
} BY_HANDLE_FILE_INFORMATION;


Members

dwFileAttributes

Specifies file attributes. This member can be one or more of the following values:

Value Meaning
FILE_ATTRIBUTE_ARCHIVE
The file is an archive file. Applications use this value to mark files for backup or removal.
FILE_ATTRIBUTE_COMPRESSED
The file or directory is compressed. For a file, this means that all of the data in the file is compressed. For a directory, this means that compression is the default for newly created files and subdirectories.
FILE_ATTRIBUTE_DIRECTORY
The file is a directory.
FILE_ATTRIBUTE_HIDDEN
The file is hidden. It is not included in an ordinary directory listing.
FILE_ATTRIBUTE_NORMAL
The file has no other attributes. This value is valid only if used alone.
FILE_ATTRIBUTE_OFFLINE
The data of the file is not immediately available. Indicates that the file data has been physically moved to offline storage.
FILE_ATTRIBUTE_READONLY
The file is read-only. Applications can read the file but cannot write to it or delete it.
FILE_ATTRIBUTE_SYSTEM
The file is part of the operating system or is used exclusively by it.
FILE_ATTRIBUTE_TEMPORARY
The file is being used for temporary storage. Applications should write to the file only if absolutely necessary. Most of the file's data remains in memory without being flushed to the media because the file will soon be deleted.


ftCreationTime

Specifies the time the file was created. If the underlying file system does not support this time member, ftCreationTime is zero.  

ftLastAccessTime

Specifies the time the file was last accessed. If the underlying file system does not support this time member, ftLastAccessTime is zero.  

ftLastWriteTime

Specifies the last time the file was written to.

dwVolumeSerialNumber

Specifies the serial number of the volume that contains the file.

nFileSizeHigh

Specifies the high-order word of the file size.

nFileSizeLow

Specifies the low-order word of the file size.

nNumberOfLinks

Specifies the number of links to this file. For the FAT file system this member is always 1. For NTFS, it may be more than 1.

nFileIndexHigh

Specifies the high-order word of a unique identifier associated with the file.

nFileIndexLow

Specifies the low-order word of a unique identifier associated with the file. This identifier and the volume serial number uniquely identify a file. This number may change when the system is restarted or when the file is opened. After a process opens a file, the identifier is constant until the file is closed. An application can use this identifier and the volume serial number to determine whether two handles refer to the same file.

Вернуться в Вопросы программирования в C++Builder