Функция определения размера проекции файла.

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
nazavrik
Сообщения: 11
Зарегистрирован: 29 сен 2009, 13:12

Для определения физического размера файла на диске есть функция GetFileSize(pFile, 0);

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

// открываем файл, который мы собираемся спроецировать

Код: Выделить всё

HANDLE hFile = CreaTeFile(pszFileName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); 
// создаем для файла объект "проекция файла"

Код: Выделить всё

HANDLE hFileMapping = CreateFileMapping(hFile, NULL, PAGE_READWRITE, 0, 0, NULL); 
// Проецируем представление файла

Код: Выделить всё

PBYTE pbFile = (PBYTE) MapViewOfFile(hFileMapping, FILE_MAP_ALL_ACCESS, 0, 0, 0); 
?
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

В таких случаях лучше всего найти ту функцию, которая тебя интересует в MSDN и внимательно прочитать секцию remarks. Я так и сделал. Пошёл по этой ссылке и увидел в ремарках следующее:

To obtain the size of a view, use the VirtualQuery function.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить