EngFindImageProcAddress 宏 (winddi.h)

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 设置为 NULLEngFindImageProcAddress。 因此,驱动程序必须执行版本检查,以确保系统运行的是该版本或 Windows 2000 或更高版本。 具体而言,如果传递给驱动程序的 DrvEnableDriver 函数的 iEngineVersion 值大于或等于 DDI_DRIVER_VERSION_SP3,则驱动程序可以使用 hModuleNULL 值调用 EngFindImageProcAddress

若要获取 Windows 2000 及更高操作系统版本新增的 GDI 服务例程的地址,驱动程序可以使用函数的字符串名称调用 EngFindImageProcAddress ,并将 hModule 设置为 NULL。 当 hModuleNULL 时,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

另请参阅

DrvEnableDriver

EngLoadImage