Поддерживается на Windows Vista / XP / 2000Pro / NT
Функция GetCompressedFileSize получает актуальное количество байт, используемое на диске для хранения указанного файла. Если файл размещается на разделе, который поддерживает сжатие и файл сжат, получаемое значение – это сжатый размер указанного файла.
DWORDGetCompressedFileSize ( LPCTSTRlpFileName , LPDWORDlpFileSizeHigh );
Параметры:
Адрес нульзаканчивающейся строки, которая определяет имя файла. | |
Адрес переменной, которая получает старшее двойное слова (DWORD) размера сжатого файла. Младшее двойное слово возвращается функцией. Этот параметр может быть нулевым, если старшее двойное слово размера сжатого файла не нужно. Файлы, размер которых меньше за 4 гигабайта, не нуждаются в старшем двойном слове. |
Возвращаемые значения:
Если вызов функции успешен, возвращаемое значение – это младшее двойное слово актуального количества байт на дисковом хранилище, используемое для хранения указанного файла, и lpFileSizeHigh не нулевой, то функцию помещает старшее двойное слово по этому адресу в переменную. Это размер сжатого файла для сжатых файлов, обычный размер файла для несжатых файлов.
При ошибке функции, и если lpFileSizeHigh равным NULL, возвращается INVALID_FILE_SIZE. Для получения дополнительной информации об ошибке, вызывайте GetLastError.
Если возвращаемое значение равно INVALID_FILE_SIZE и lpFileSizeHigh не нулевой, то приложение должно вызвать GetLastError для определения того, была-ли функция успешна (значение NO_ERROR), или не успешна (значение, отличное от NO_ERROR).
При ошибке функции, и если lpFileSizeHigh равным NULL, возвращается INVALID_FILE_SIZE. Для получения дополнительной информации об ошибке, вызывайте GetLastError.
Если возвращаемое значение равно INVALID_FILE_SIZE и lpFileSizeHigh не нулевой, то приложение должно вызвать GetLastError для определения того, была-ли функция успешна (значение NO_ERROR), или не успешна (значение, отличное от NO_ERROR).
Замечания:
Приложение может проверить что раздел сжат, вызвав GetVolumeInformation, затем проверить состояние флага FS_VOL_IS_COMPRESSED в значении DWORD, на которое указывает параметр lpFileSystemFlags функции.
Если файл не размещен на разделе который поддерживает сжатые файлы, или файл не сжат, то получаемое значение является обычным размером файла, таким самым, что и возвращаемое значение функции GetFileSize.
Если путь указывает на символическую ссылку, функция возвращает размер файла, на который указывает ссылка.
Если файл не размещен на разделе который поддерживает сжатые файлы, или файл не сжат, то получаемое значение является обычным размером файла, таким самым, что и возвращаемое значение функции GetFileSize.
Если путь указывает на символическую ссылку, функция возвращает размер файла, на который указывает ссылка.
Смотрите также:
GetFileSize, GetVolumeInformation