EngMapFile 函数 (winddi.h)

EngMapFile 函数创建或打开文件并将其映射到系统空间

语法

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

参数

[in] pwsz

指向以 null 结尾的字符串的指针,该字符串包含要映射的文件的完全限定名称。 完全限定文件名字符串的一个示例是 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)
Library Win32k.lib
DLL Win32k.sys

另请参阅

EngDeleteFile

EngUnmapFile