Поделиться через


Макрос EngFindImageProcAddress (winddi.h)

Функция EngFindImageProcAddress возвращает адрес функции в исполняемом модуле.

Синтаксис

void EngFindImageProcAddress(
        h,
  [in]  procname
);

Параметры

h

Дескриптор изображения, в котором можно найти функцию. Этот дескриптор был получен путем вызова EngLoadImage. Этот параметр может иметь значение NULL в Windows NT 4.0 с пакетом обновления 3 (SP3) и более поздних версий, включая Windows 2000 и более поздние версии операционной системы.

[in] procname

Указатель на строку, указывающую имя функции, которую необходимо найти.

Возвращаемое значение

None

Remarks

Драйвер должен предварительно загрузить образ в режим ядра с помощью вызова EngLoadImage.

Функция, определяемая lpProcName , должна быть экспортирована загруженным модулем. Для этого используется ключ EXPORTS в модуле . DEF-файл .

Драйвер не может вызвать EngFindImageProcAddress с параметром hModule, имеющим значение NULL, в любой версии Windows NT 4.0 до с пакетом обновления 3 (SP3). Следовательно, драйвер должен проверить версию, чтобы убедиться, что система работает под управлением этой версии или Windows 2000 или более поздней версии. В частности, если значение iEngineVersion , переданное функции DrvEnableDriver драйвера, больше или равно DDI_DRIVER_VERSION_SP3, драйвер может вызвать EngFindImageProcAddress со значением NULL для hModule.

Чтобы получить адрес подпрограммы службы GDI, которая является новой для Windows 2000 и более поздних версий операционной системы, драйвер может вызвать EngFindImageProcAddress со строковым именем функции и hModule со значением NULL. Параметр lpProcName может быть текстовой строкой, эквивалентной любой из следующих функций, если hModule имеет значение 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

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 2000 и более поздних версиях операционных систем Windows.
Целевая платформа Универсальное
Верхняя часть winddi.h (включая Winddi.h)
Библиотека Win32k.lib
DLL Win32k.sys

См. также раздел

DrvEnableDriver

EngLoadImage