Função NtGdiDdQueryDirectDrawObject
[Essa função está sujeita a alterações com cada revisão do sistema operacional. Em vez disso, use o 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.]
Consulta uma representação de modo kernel criada anteriormente de um objeto Microsoft DirectDraw para seus recursos.
Sintaxe
BOOL APIENTRY NtGdiDdQueryDirectDrawObject(
_In_ HANDLE hDirectDrawLocal,
_Out_ DD_HALINFO *pHalInfo,
DWORD *pCallBackFlags,
_Out_ LPD3DNTHAL_CALLBACKS puD3dCallbacks,
_Out_ LPD3DNTHAL_GLOBALDRIVERDATA puD3dDriverData,
_Out_ PDD_D3DBUFCALLBACKS puD3dBufferCallbacks,
_Out_ LPDDSURFACEDESC puD3dTextureFormats,
_Out_ DWORD *puNumHeaps,
_Out_ VIDEOMEMORY *puvmList,
_Out_ DWORD *puNumFourCC,
_Out_ DWORD *puFourCC
);
Parâmetros
-
hDirectDrawLocal [in]
-
Identificador para o dispositivo DirectDraw do modo kernel criado anteriormente.
-
pHalInfo [out]
-
Ponteiro para uma estrutura de DD_HALINFO que será preenchida com os recursos do dispositivo. Confira a documentação do DDK para obter detalhes.
-
pCallBackFlags
-
Ponteiro para um buffer fornecido pelo chamador que armazena sinalizadores de retorno de chamada relatados pelo driver. O buffer deve ter o tamanho 3*sizeof(DWORD) e armazenar sinalizadores de retorno de chamada na seguinte ordem: pCallBackFlags[0] para sinalizadores no DD_CALLBACKS, pCallBackFlags[1] para sinalizadores no DD_SURFACECALLBACKS e pCallBackFlags[2] para sinalizadores em DD_PALETTECALLBACKS. Confira a documentação do DDK para obter detalhes.
-
puD3dCallbacks [out]
-
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_D3DCALLBACKS discutida na documentação do DDK.
-
puD3dDriverData [out]
-
Ponteiro para D3DHAL_GLOBALDRIVERDATA dados, conforme descrito na documentação do DDK.
-
puD3dBufferCallbacks [out]
-
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 de DDHAL_DDEXEBUFCALLBACKS, que é mapeada para a estrutura DD_D3DBUFCALLBACKS discutida na documentação do DDK, exceto que os membros XxxD3DBuffer em DD_D3DBUFCALLBACKS são substituídos por XxxExecuteBuffer em DDHAL_DDEXEBUFCALLBACKS.
-
puD3dTextureFormats [out]
-
Ponteiro para uma matriz de estruturas DDSURFACEDESC que definem o conjunto de formatos de textura permitidos.
-
puNumHeaps [out]
-
Ponteiro para o membro dwNumHeaps do DD_HALINFO. vmiData. O membro dwNumHeaps especifica o número de heaps de memória em puvmList. Confira a documentação do DDK para obter detalhes.
-
puvmList [out]
-
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.
-
puNumFourCC [out]
-
Ponteiro para o membro puNumFourCCCodes do DD_HALINFO. ddCaps. O membro puNumFourCCCodes especifica o número de códigos four-character codes (FOURCC) aos quais o driver dá suporte. Confira a documentação do DDK para obter detalhes.
-
puFourCC [out]
-
Ponteiro para uma lista de formatos de superfície four-character codes (FOURCC) com suporte. Pode ser NULL.
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, puFourCC, puvmList e puD3dTextureFormats devem ser NULL e DdQueryDirectDrawObject preencherá DD_HALINFO. ddCaps. dwNumFourCCCodes, DD_HALINFO. 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 puFourCC, puvmList e puD3dTextureFormats . 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] |
Cabeçalho |
|
Confira também