Macro EngFindImageProcAddress (winddi.h)
La función EngFindImageProcAddress devuelve la dirección de una función dentro de un módulo ejecutable.
Sintaxis
void EngFindImageProcAddress(
h,
[in] procname
);
Parámetros
h
Identificador de la imagen en la que se puede encontrar la función. Este identificador se obtuvo llamando a EngLoadImage. Este parámetro puede ser NULL en Windows NT 4.0 SP3 y versiones posteriores, que incluye Windows 2000 y versiones posteriores del sistema operativo.
[in] procname
Puntero a la cadena que especifica el nombre de la función que se va a ubicar.
Valor devuelto
None
Observaciones
Un controlador debe haber cargado previamente la imagen en modo kernel a través de una llamada a EngLoadImage.
El módulo cargado debe exportar la función identificada por lpProcName . Esto se logra mediante el uso de la clave EXPORTS en el módulo . Archivo DEF .
Un controlador no puede llamar a EngFindImageProcAddress con hModule establecido en NULL en cualquier versión de Windows NT 4.0 anterior a SP3. Por lo tanto, el controlador debe realizar la comprobación de versiones para asegurarse de que el sistema ejecuta esa versión o Windows 2000 o posterior. En concreto, si el valor de iEngineVersion pasado a la función DrvEnableDriver del controlador es mayor o igual que DDI_DRIVER_VERSION_SP3, el controlador puede llamar a EngFindImageProcAddress con un valor NULL para hModule.
Para obtener la dirección de una rutina de servicio GDI que es nueva en Windows 2000 y versiones posteriores del sistema operativo, el controlador puede llamar a EngFindImageProcAddress con el nombre de cadena de la función y hModule establecido en NULL. El parámetro lpProcName puede ser la cadena de texto equivalente a cualquiera de las funciones siguientes cuando hModule es 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 |
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows 2000 y versiones posteriores de los sistemas operativos Windows. |
Plataforma de destino | Universal |
Encabezado | winddi.h (incluya Winddi.h) |
Library | Win32k.lib |
Archivo DLL | Win32k.sys |