EngFindImageProcAddress macro (winddi.h)
The EngFindImageProcAddress function returns the address of a function within an executable module.
Syntax
void EngFindImageProcAddress(
h,
[in] procname
);
Parameters
h
Handle to the image in which the function can be found. This handle was obtained by calling EngLoadImage. This parameter can be NULL on Windows NT 4.0 SP3 and later versions, which includes Windows 2000 and later operating system versions.
[in] procname
Pointer to the string that specifies the name of the function to be located.
Return value
None
Remarks
A driver must previously have loaded the image into kernel-mode through a call to EngLoadImage.
The function identified by lpProcName must be exported by the loaded module. This is accomplished by using the EXPORTS key in the module's .DEF file.
A driver cannot call EngFindImageProcAddress with hModule set to NULL on any version of Windows NT 4.0 prior to SP3. Consequently, the driver must do version checking to ensure that the system is running that version or Windows 2000 or later. Specifically, if the iEngineVersion value passed to the driver's DrvEnableDriver function is greater than or equal to DDI_DRIVER_VERSION_SP3, the driver can call EngFindImageProcAddress with a NULL value for hModule.
To obtain the address of a GDI service routine that is new to Windows 2000 and later operating system versions, the driver can call EngFindImageProcAddress with the function's string name and hModule set to NULL. The lpProcName parameter can be the text string equivalent of any of the following functions when hModule is NULL:
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 |
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Windows 2000 and later versions of the Windows operating systems. |
Target Platform | Universal |
Header | winddi.h (include Winddi.h) |
Library | Win32k.lib |
DLL | Win32k.sys |