Macro EngFindImageProcAddress (winddi.h)
A função EngFindImageProcAddress retorna o endereço de uma função dentro de um módulo executável.
Sintaxe
void EngFindImageProcAddress(
h,
[in] procname
);
Parâmetros
h
Manipule para a imagem na qual a função pode ser encontrada. Esse identificador foi obtido chamando EngLoadImage. Esse parâmetro pode ser NULL no Windows NT 4.0 SP3 e versões posteriores, que inclui o Windows 2000 e versões posteriores do sistema operacional.
[in] procname
Ponteiro para a cadeia de caracteres que especifica o nome da função a ser localizada.
Retornar valor
Nenhum
Comentários
Um driver deve ter carregado anteriormente a imagem no modo kernel por meio de uma chamada para EngLoadImage.
A função identificada por lpProcName deve ser exportada pelo módulo carregado. Isso é feito usando a chave EXPORTS no do módulo . Arquivo DEF .
Um driver não pode chamar EngFindImageProcAddress com hModule definido como NULL em qualquer versão do Windows NT 4.0 antes do SP3. Consequentemente, o driver deve fazer a verificação de versão para garantir que o sistema esteja executando essa versão ou o Windows 2000 ou posterior. Especificamente, se o valor iEngineVersion passado para a função DrvEnableDriver do driver for maior ou igual a DDI_DRIVER_VERSION_SP3, o driver poderá chamar EngFindImageProcAddress com um valor NULL para hModule.
Para obter o endereço de uma rotina de serviço GDI que é nova no Windows 2000 e versões posteriores do sistema operacional, o driver pode chamar EngFindImageProcAddress com o nome da cadeia de caracteres da função e hModule definido como NULL. O parâmetro lpProcName pode ser a cadeia de caracteres de texto equivalente a qualquer uma das seguintes funções quando 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 |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Windows 2000 e versões posteriores dos sistemas operacionais Windows. |
Plataforma de Destino | Universal |
Cabeçalho | winddi.h (inclua Winddi.h) |
Biblioteca | Win32k.lib |
DLL | Win32k.sys |