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 |