Partager via


Macro EngFindImageProcAddress (winddi.h)

La fonction EngFindImageProcAddress retourne l’adresse d’une fonction dans un module exécutable.

Syntaxe

void EngFindImageProcAddress(
        h,
  [in]  procname
);

Paramètres

h

Handle vers l’image dans laquelle la fonction peut être trouvée. Ce handle a été obtenu en appelant EngLoadImage. Ce paramètre peut être NULL sur Windows NT 4.0 SP3 et versions ultérieures, qui inclut Windows 2000 et versions ultérieures du système d’exploitation.

[in] procname

Pointeur vers la chaîne qui spécifie le nom de la fonction à localiser.

Valeur de retour

None

Remarques

Un pilote doit avoir précédemment chargé l’image en mode noyau via un appel à EngLoadImage.

La fonction identifiée par lpProcName doit être exportée par le module chargé. Pour ce faire, utilisez la clé EXPORTS dans le module . Fichier DEF .

Un pilote ne peut pas appeler EngFindImageProcAddress avec hModule défini sur NULL sur n’importe quelle version de Windows NT 4.0 antérieure à SP3. Par conséquent, le pilote doit effectuer une vérification de version pour s’assurer que le système exécute cette version ou Windows 2000 ou une version ultérieure. Plus précisément, si la valeur iEngineVersion passée à la fonction DrvEnableDriver du pilote est supérieure ou égale à DDI_DRIVER_VERSION_SP3, le pilote peut appeler EngFindImageProcAddress avec une valeur NULL pour hModule.

Pour obtenir l’adresse d’une routine de service GDI qui est nouvelle dans Windows 2000 et versions ultérieures du système d’exploitation, le pilote peut appeler EngFindImageProcAddress avec le nom de chaîne de la fonction et hModule défini sur NULL. Le paramètre lpProcName peut être l’équivalent de la chaîne de texte de l’une des fonctions suivantes lorsque hModule a la valeur 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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Universal
En-tête winddi.h (inclure Winddi.h)
Bibliothèque Win32k.lib
DLL Win32k.sys

Voir aussi

DrvEnableDriver

EngLoadImage