Freigeben über


EngFindImageProcAddress-Makro (winddi.h)

Die EngFindImageProcAddress-Funktion gibt die Adresse einer Funktion in einem ausführbaren Modul zurück.

Syntax

void EngFindImageProcAddress(
        h,
  [in]  procname
);

Parameter

h

Handle mit dem Bild, in dem die Funktion gefunden werden kann. Dieses Handle wurde durch Aufrufen von EngLoadImage abgerufen. Dieser Parameter kann unter Windows NT 4.0 SP3 und höheren Versionen NULL sein, einschließlich Windows 2000 und höherer Betriebssystemversionen.

[in] procname

Zeiger auf die Zeichenfolge, die den Namen der zu findenden Funktion angibt.

Rückgabewert

Keine

Bemerkungen

Ein Treiber muss das Image zuvor über einen Aufruf von EngLoadImage in den Kernelmodus geladen haben.

Die durch lpProcName identifizierte Funktion muss vom geladenen Modul exportiert werden. Dies wird mithilfe des EXPORTS-Schlüssels im Modul erreicht . DEF-Datei .

Ein Treiber kann EngFindImageProcAddress nicht aufrufen, wobei hModule unter einer Version von Windows NT 4.0 vor SP3 auf NULL festgelegt ist. Daher muss der Treiber eine Versionsüberprüfung durchführen, um sicherzustellen, dass auf dem System diese Version oder Windows 2000 oder höher ausgeführt wird. Insbesondere wenn der iEngineVersion-Wert , der an die DrvEnableDriver-Funktion des Treibers übergeben wird, größer oder gleich DDI_DRIVER_VERSION_SP3 ist, kann der Treiber EngFindImageProcAddress mit einem NULL-Wert für hModule aufrufen.

Um die Adresse einer GDI-Dienstroutine abzurufen, die für Windows 2000 und höhere Betriebssystemversionen neu ist, kann der Treiber EngFindImageProcAddress aufrufen, wobei der Zeichenfolgenname der Funktion und hModule auf NULL festgelegt ist. Der lpProcName-Parameter kann das Äquivalent einer der folgenden Funktionen sein, wenn hModuleNULL ist:

BRUSHOBJ_hGetColorTransform EngAlphaBlend
EngClearEvent EngControlSprites
EngCreateEvent EngDeleteEvent
EngDeleteFile EngDeleteSafeSemaphor
EngDeleteWnd EngDitherColor
EngGetPrinterDriver EngGradientFill
EngHangNotification EngInitializeSafeSemaphor
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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows 2000 und höheren Versionen der Windows-Betriebssysteme.
Zielplattform Universell
Header winddi.h (einschließlich Winddi.h)
Bibliothek Win32k.lib
DLL Win32k.sys

Weitere Informationen

DrvEnableDriver

EngLoadImage