EngLoadModuleForWrite 函数 (winddi.h)
EngLoadModuleForWrite 函数将指定的可执行模块加载到系统内存中以供写入。
语法
ENGAPI HANDLE EngLoadModuleForWrite(
[in] LPWSTR pwsz,
[in] ULONG cjSizeOfModule
);
参数
[in] pwsz
指向以 null 结尾的字符串的指针,该字符串包含要加载的文件的名称。
[in] cjSizeOfModule
指定要加载的模块的大小(以字节为单位)。
返回值
如果 EngLoadModuleForWrite 成功,则返回值是已加载模块的句柄。 否则,返回 NULL 。
注解
EngLoadModuleForWrite 以写入权限将数据文件加载到系统内存中。 若要访问加载的模块,驱动程序应使用此函数返回的句柄调用 EngMapModule 。
当 cjSizeOfModule 为零时,EndLoadModuleForWrite 将文件加载到与文件大小相同的内存中。 如果 cjSizeOfModule 大于零,则 GDI 在加载文件之前会扩展或截断文件,使其大小正好为 cjSizeOfModule 字节。 当 cjSizeOfModule 大于文件的原始大小时,不应对超出文件的内存内容做出假设。
pwsz 标识的文件必须位于 %SystemRoot%\System32 目录中,或者在 %SystemRoot%\System32 下的目录层次结构中找到的目录中。
若要加载具有只读权限的模块,驱动程序应调用 EngLoadModule。 需要将映像加载为可执行代码的驱动程序应调用 EngLoadImage ,而不是此函数。
要求
最低受支持的客户端 | 适用于 Windows 2000 及更高版本的 Windows 操作系统。 |
目标平台 | 通用 |
标头 | winddi.h (包括 Winddi.h) |
Library | Win32k.lib |
DLL | Win32k.sys |