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 |