Função DdQueryDirectDrawObject (ddrawgdi.h)

[Essa função está sujeita a alterações com cada revisão do sistema operacional. Em vez disso, use o Microsoft DirectDraw e o Microsoft Direct3DAPIs; essas APIs isolam os aplicativos dessas alterações do sistema operacional e ocultam muitas outras dificuldades envolvidas na interação diretamente com drivers de exibição.]

Wrapper para a função NtGdiDdQueryDirectDrawObject e consulta uma representação de modo kernel criada anteriormente para recursos.

GdiEntry2 é definido como um alias para essa função.

Sintaxe

BOOL DdQueryDirectDrawObject(
  LPDDRAWI_DIRECTDRAW_GBL    pDirectDrawGlobal,
  LPDDHALINFO                pHalInfo,
  LPDDHAL_DDCALLBACKS        pDDCallbacks,
  LPDDHAL_DDSURFACECALLBACKS pDDSurfaceCallbacks,
  LPDDHAL_DDPALETTECALLBACKS pDDPaletteCallbacks,
  LPD3DHAL_CALLBACKS         pD3dCallbacks,
  LPD3DHAL_GLOBALDRIVERDATA  pD3dDriverData,
  LPDDHAL_DDEXEBUFCALLBACKS  pD3dBufferCallbacks,
  LPDDSURFACEDESC            pD3dTextureFormats,
  LPDWORD                    pdwFourCC,
  LPVIDMEM                   pvmList
);

Parâmetros

pDirectDrawGlobal

Ponteiro para um objeto DirectDraw no modo de usuário para o qual um objeto do lado do kernel foi criado anteriormente com DdCreateDirectDrawObject.

pHalInfo

Ponteiro para uma estrutura DDHALINFO que será preenchida com os recursos do dispositivo. Confira a documentação do DDK para obter detalhes.

pDDCallbacks

Ponteiro para uma tabela de ponteiros de retorno de chamada. A tabela é preenchida com ponteiros para funções dentro de Gdi32.dll que imitam um driver de exibição DirectDraw. Essa tabela de retorno de chamada é idêntica à estrutura DDHAL_DDCALLBACKS, que é mapeada para a estrutura DD_CALLBACKS discutida na documentação do DDK.

pDDSurfaceCallbacks

Ponteiro para uma tabela de ponteiros de retorno de chamada de superfície. A tabela é preenchida com ponteiros para funções dentro de Gdi32.dll que imitam um driver de exibição DirectDraw. Essa tabela de retorno de chamada é idêntica à estrutura de DDHAL_DDSURFACECALLBACKS, que é mapeada para a estrutura DD_SURFACECALLBACKS discutida na documentação do DDK.

pDDPaletteCallbacks

Ponteiro para uma tabela de ponteiros de retorno de chamada de paleta. A tabela é preenchida com ponteiros para funções dentro de Gdi32.dll que imitam um driver de exibição DirectDraw. Essa tabela de retorno de chamada é idêntica à estrutura DDHAL_DDPALETTECALLBACKS, que é mapeada para a estrutura DD_PALETTECALLBACKS discutida na documentação do DDK.

pD3dCallbacks

Ponteiro para uma tabela de ponteiros de retorno de chamada direct3D. A tabela é preenchida com ponteiros para funções dentro de Gdi32.dll que imitam um driver de exibição Direct3D. Essa tabela de retorno de chamada é idêntica à estrutura D3DHAL_CALLBACKS discutida na documentação do DDK.

pD3dDriverData

Ponteiro para D3DHAL_GLOBALDRIVERDATA dados, conforme descrito na documentação do DDK.

pD3dBufferCallbacks

Ponteiro para uma tabela de ponteiros de retorno de chamada. A tabela é preenchida com ponteiros para funções dentro de Gdi32.dll que imitam um driver de exibição Direct3D. Essa tabela de retorno de chamada é idêntica à estrutura DDHAL_DDEXEBUFCALLBACKS, que é mapeada para a estrutura DD_D3DBUFCALLBACKS discutida na documentação do DDK, exceto que os membros XxxD3DBuffer no DD_D3DBUFCALLBACKS são substituídos por XxxExecuteBuffer em DDHAL_DDEXEBUFCALLBACKS.

pD3dTextureFormats

Ponteiro para uma matriz de estruturas DDSURFACEDESC que definem o conjunto de formatos de textura permitidos.

pdwFourCC

Ponteiro para uma lista de formatos de superfície four-character codes (FOURCC) com suporte. Pode ser NULL.

pvmList

Ponteiro para uma lista de descritores de heap de memória de vídeo. Pode ser NULL. Esse parâmetro não é usado porque o gerenciamento de memória de vídeo é tratado inteiramente no modo kernel.

Retornar valor

Se tiver êxito, essa função retornará TRUE; caso contrário, retornará FALSE.

Comentários

Uma chamada para essa função foi projetada para ser feita em um processo de duas etapas. Na primeira etapa, pdwFourCC, pvmList e pD3dTextureFormats devem ser NULL e DdQueryDirectDrawObject preencherá DDHALINFO. ddCaps. dwNumFourCCCodes, DDHALINFO. vmiData. dwNumHeaps e D3DHAL_GLOBALDRIVERDATA. dwNumTextureFormats com o número de entradas que devem ser retornadas. Na segunda chamada, o chamador deve alocar matrizes do tamanho indicado e passar esses ponteiros em vez de valores NULL nos parâmetros pdwFourCC, pvmList e pD3dTextureFormats . Em seguida, as matrizes serão preenchidas com os dados apropriados.

Os aplicativos são aconselhados a usar as APIs DirectDraw e Direct3D para criar e gerenciar objetos de dispositivo gráfico. Essas construções abstraem o processo de criação do dispositivo de maneira simplificada e independente do sistema operacional.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ddrawgdi.h

Confira também

Suporte ao cliente de baixo nível de gráficos