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 |