Поделиться через


Функция EngMapFile (winddi.h)

Функция EngMapFile создает или открывает файл и сопоставляет его с системным пространством.

Синтаксис

ENGAPI PVOID EngMapFile(
  [in]  LPWSTR    pwsz,
  [in]  ULONG     cjSize,
  [out] ULONG_PTR *piFile
);

Параметры

[in] pwsz

Указатель на строку, завершающуюся нулевым значением, которая содержит полное имя файла для сопоставления. Пример полной строки имени файла: L"\?? \c:\test.dat".

[in] cjSize

Указывает количество байтов файла для сопоставления.

[out] piFile

Указатель на расположение памяти, которое получает идентификатор сопоставленного файла при условии успешного сопоставления. Если сопоставление не удалось, расположение памяти получает нулевое значение. Когда сопоставленный файл необходимо освободить, это значение должно быть передано в EngUnmapFile.

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

При успешном выполнении EngMapFile возвращает указатель на сопоставленное представление файла. В противном случае возвращается значение NULL.

Комментарии

Если файл уже существует, EngMapFile откроется и сопоставляет его для чтения и записи. Если файл не существует, EngMapFile создает и сопоставляет его для чтения и записи.

Значение cjSize влияет на сопоставление файла следующим образом:

  • Если параметр cjSize равен нулю, GDI полностью сопоставляет файл.
  • Если размер cjSize превышает размер файла, GDI расширяет файл до размера cjSize в байтах, прежде чем сопоставлять его в системной памяти. Не следует делать никаких предположений о содержимом памяти, которая выходит за пределы исходного размера файла.
  • Если размер cjSize меньше размера файла, GDI усекает файл до размера cjSize в байтах, прежде чем сопоставлять его с системной памятью.
Драйвер может считывать и записывать в файл с помощью возвращенного указателя.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 2000 и более поздних версиях операционных систем Windows.
Целевая платформа Универсальное
Верхняя часть winddi.h (включая Winddi.h)
Библиотека Win32k.lib
DLL Win32k.sys

См. также раздел

EngDeleteFile

EngUnmapFile