Макрос 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 |