Compartilhar via


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

Confira também

DrvCopyBits

EngAssociateSurface