Função EngModifySurface (winddi.h)
A função EngModifySurface notifica a GDI sobre os atributos de uma superfície que foi criada pelo driver.
Sintaxe
ENGAPI BOOL EngModifySurface(
HSURF hsurf,
HDEV hdev,
FLONG flHooks,
FLONG flSurface,
DHSURF dhsurf,
VOID *pvScan0,
LONG lDelta,
VOID *pvReserved
);
Parâmetros
hsurf
Manipule para a superfície a ser modificada. Esse parâmetro é o identificador de superfície retornado por EngCreateDeviceBitmap ou EngCreateDeviceSurface ou pelo membro hsurf da estrutura SURFOBJ .
hdev
Manipule para o dispositivo ao qual a superfície deve ser associada. Esse é o identificador que o GDI passou para DrvCompletePDEV.
flHooks
É um conjunto de sinalizadores que controlam as funções que o driver pode enganchar sempre que o desenho GDI ocorre na superfície especificada. Isso pode ser um OR bit a bit de qualquer um dos valores HOOK_Xxx listados na página de referência EngAssociateSurface .
flSurface
É um conjunto de sinalizadores que descrevem os atributos da superfície. Atualmente, o driver deve definir isso como MS_NOTSYSTEMMEMORY quando a superfície estiver localizada na memória de vídeo.
dhsurf
Identifica a superfície para o driver. O driver pode definir isso como qualquer coisa; A GDI define o membro dhsurf da estrutura SURFOBJ da superfície resultante como esse valor se a função for bem-sucedida.
pvScan0
Ponteiro para o endereço virtual do início do bitmap.
lDelta
É o passo do endereço virtual do bitmap; ou seja, o número de bytes entre o início de uma linha bitmap e a próxima.
pvReserved
É reservado e deve ser sempre definido como NULL.
Retornar valor
EngModifySurface retorna TRUE após o sucesso; caso contrário, retornará FALSE.
Comentários
O EngModifySurface permite que o driver modifique uma superfície gerenciada pelo dispositivo e informe a GDI sobre os atributos dessa superfície. Isso permite que os drivers convertam a superfície de destino de opaca em nãopaque, permitindo assim que a GDI desenhe na superfície.
O mecanismo DIB usa pvScan0 e lDelta para desenhar diretamente na superfície. Quando esses parâmetros são NULL, a superfície é opaca para GDI e a GDI reverter chamar DrvCopyBits para operações de desenho não conectadas pelo driver.
Depois que DrvEnableSurface retornar um identificador para uma superfície primária, não chame EngModifySurface nesse identificador. Isso pode causar um bug marcar em determinadas circunstâncias. Para obter mais informações, consulte o artigo da Base de Dados de Conhecimento da Microsoft 330248.
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 |