EngFindImageProcAddress 函数返回可执行模块中函数的地址。
语法
void EngFindImageProcAddress(
h,
[in] procname
);
参数
h
可在其中找到函数的图像的句柄。 此句柄是通过调用 EngLoadImage 获取的。 在 Windows NT 4.0 SP3 及更高版本(包括 Windows 2000 及更高版本的操作系统)上,此参数可以为 NULL。
[in] procname
指向指定要定位的函数名称的字符串的指针。
返回值
无
备注
驱动程序之前必须通过调用 EngLoadImage 将映像加载到内核模式。
由 lpProcName 标识的函数必须由加载的模块导出。 这是通过使用模块的 中的 EXPORTS 键来实现的 。DEF 文件。
在 SP3 之前的任何 Windows NT 4.0 版本上,驱动程序无法调用 hModule 设置为 NULL 的 EngFindImageProcAddress。 因此,驱动程序必须执行版本检查,以确保系统运行的是该版本或 Windows 2000 或更高版本。 具体而言,如果传递给驱动程序的 DrvEnableDriver 函数的 iEngineVersion 值大于或等于 DDI_DRIVER_VERSION_SP3,则驱动程序可以使用 hModule 的 NULL 值调用 EngFindImageProcAddress。
若要获取 Windows 2000 及更高操作系统版本新增的 GDI 服务例程的地址,驱动程序可以使用函数的字符串名称调用 EngFindImageProcAddress ,并将 hModule 设置为 NULL。 当 hModule 为 NULL 时,lpProcName 参数可以是以下任何函数的等效文本字符串:
| BRUSHOBJ_hGetColorTransform | EngAlphaBlend |
| EngClearEvent | EngControlSprites |
| EngCreateEvent | EngDeleteEvent |
| EngDeleteFile | EngDeleteSafeSemaphore |
| EngDeleteWnd | EngDitherColor |
| EngGetPrinterDriver | EngGradientFill |
| EngHangNotification | EngInitializeSafeSemaphore |
| EngLockDirectDrawSurface | EngLpkInstalled |
| EngMapEvent | EngMapFile |
| EngMapFontFileFD | EngModifySurface |
| EngMovePointer | EngPlgBlt |
| EngQueryDeviceAttribute | EngQueryPalette |
| EngQuerySystemAttribute | EngReadStateEvent |
| EngRestoreFloatingPointState | EngSaveFloatingPointState |
| EngSetEvent | EngSetPointerShape |
| EngSetPointerTag | EngStretchBltROP |
| EngTransparentBlt | EngUnlockDirectDrawSurface |
| EngUnmapEvent | EngUnmapFile |
| EngUnmapFontFileFD | EngWaitForSingleObject |
| FONTOBJ_pfdg | FONTOBJ_pjOpenTypeTablePointer |
| FONTOBJ_pQueryGlyphAttrs | FONTOBJ_pwszFontFilePaths |
| HeapVidMemAllocAligned | HT_Get8BPPMaskPalette |
| STROBJ_bEnumPositionsOnly | STROBJ_bGetAdvanceWidths |
| STROBJ_fxBreakExtra | STROBJ_fxCharacterExtra |
| VidMemFree | XLATEOBJ_hGetColorTransform |
要求
| 要求 | 值 |
|---|---|
| 最低受支持的客户端 | 在 Windows 2000 及更高版本的 Windows 操作系统中可用。 |
| 目标平台 | 通用 |
| 标头 | winddi.h (包括 Winddi.h) |
| Library | Win32k.lib |
| DLL | Win32k.sys |