Функция GetCompressedFileSize

Функция GetCompressedFileSize извлекает данные о фактическом числе байтов запоминающего устройства на диске, который сохраняет указанный файл. Если файл расположен на томе, который поддерживает сжатие и файл сжатый, получаемое значение - сжатый размер указанного файла. Если файл расположен на томе, который поддерживает разреженные файлы и файл - разреженный файл, получаемое значение - размер разреженного указанного файла.

Синтаксис

DWORD GetCompressedFileSize(
  LPCTSTR lpFileName,     // имя файла
  LPDWORD lpFileSizeHigh  // старшее DWORD размера файла
);

Параметры

lpFileName

[in] Указатель на символьную строку с нулем в конце, которая определяет имя файла.

Не определяйте имя файла на не разыскиваемом устройстве, типа канала (абстрактного файла или коммуникационного устройства, поскольку  размер его файла не имеет никакого значения.

lpFileSizeHigh

[out] Указатель на переменную, которая принимает старшее двойное слово (DWORD) сжатого размера файла. Возвращаемое значение функции - младшее двойное слово (DWORD) размера сжатого файла.

Этот параметр может быть ПУСТО (NULL), если старшее двойное слово (DWORD) сжатого размера файла не нужно. Файлы размером меньше чем 4 гигабайта в старшем двойном слове (DWORD) не нуждаются.

Возвращаемые значения

Если функция завершается успешно, возвращаемое значение - младшее двойное слово (DWORD) фактического числа байтов дискового накопителя, который хранит указанный файл, а если параметр lpFileSizeHigh - не - ПУСТО (NULL), функция помещает старшее двойное слово (DWORD) этого фактического значения в двойное слово (DWORD), на которое указывает тот параметр. Это - сжатый размер файла для сжатых файлов, действительный размер файла для несжатых файлов.

Если функция завершается ошибкой, а параметр lpFileSizeHigh равен ПУСТО (NULL), возвращаемое значение - INVALID_FILE_SIZE. Чтобы получить дополнительные данные об ошибке, вызовите GetLastError.

Если возвращаемое значение - INVALID_FILE_SIZE, а параметр lpFileSizeHigh - не ПУСТО (NULL), приложение должно вызвать GetLastError, чтобы выяснить, успешно ли завершилась функция (значение - NO_ERROR), или завершилась ошибкой (значение другое, а не NO_ERROR).

Замечания

Приложение может выяснить сжимается ли том при помощи вызова функции GetVolumeInformation, затем проверяет состояние флажка FS_VOL_IS_COMPRESSED в значении двойного слова (DWORD), на которое указывает параметр lpFileSystemFlags  этой функции.

Если файл не расположен на томе, который поддерживает сжатие или разреженные файлы, или, если файл не сжат или разреженный файл, полученное значение - реальный размер файла, такое же как и значение, возвращенное вызовом к GetFileSize.

Смотри также 

Обзор Управление файламиФункции, используемые в управлении файлами, GetFileSize, GetVolumeInformation

Размещение и совместимость GetCompressedFileSize

К

Windows XP

Да 

л

Windows 2000 Professional

Да

и

Windows NT Workstation

Да

е

Windows Me

Нет

н

Windows 98

Нет

т

Windows 95

Нет

 
С

Windows Server 2003

Да

е Windows 2000 Server Да
р Windows NT Server Да
в    
е    
р    

Используемая библиотека

Kernel32.lib

Используемая DLL -
Заголовочный файл  

- объявлено в

Winbase.h

 - включено в

Windows.h

 Unicode

Реализуется как версии Unicode и  ANSI.

 Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz