PDD_GETDRIVERINFO função de retorno de chamada (ddrawint.h)
A função DdGetDriverInfo consulta o driver para obter funcionalidades adicionais do DirectDraw e direct3D compatíveis com o driver.
Sintaxe
PDD_GETDRIVERINFO PddGetdriverinfo;
DWORD PddGetdriverinfo(
PDD_GETDRIVERINFODATA unnamedParam1
)
{...}
Parâmetros
unnamedParam1
Aponta para uma estrutura DD_GETDRIVERINFODATA que contém as informações necessárias para executar a consulta.
Retornar valor
DdGetDriverInfo deve retornar DDHAL_DRIVER_HANDLED.
Comentários
Os drivers devem implementar o DdGetDriverInfo para expor a funcionalidade DirectDraw com suporte ao driver que não pode ser retornada por meio de DrvEnableDirectDraw.
A função DrvGetDirectDrawInfo do driver retorna um ponteiro para DdGetDriverInfo no membro GetDriverInfo da estrutura DD_HALINFO .
Para informar ao DirectDraw que o membro GetDriverInfo foi definido corretamente, o driver também deve definir o bit DDHALINFO_GETDRIVERINFOSET do membro dwFlags na estrutura DD_HALINFO.
DdGetDriverInfo deve determinar se o driver e seu hardware dão suporte aos retornos de chamada ou aos recursos solicitados pelo GUID especificado. Para todos os GUIDs, exceto GUID_D3DParseUnknownCommandCallback, se o driver fornecer o suporte solicitado, ele deverá definir os seguintes membros da estrutura DD_GETDRIVERINFODATA :
- Defina dwActualSize como o tamanho em bytes da estrutura de retorno de chamada ou capacidade que está sendo retornada pelo driver.
- Na memória para a qual lpvData aponta, inicialize os membros do retorno de chamada ou da estrutura de funcionalidade que corresponde ao recurso solicitado da seguinte maneira:
- Defina o membro dwSize como o tamanho em bytes da estrutura.
- Para retornos de chamada, defina os ponteiros de função para apontar para esses retornos de chamada implementados pelo driver e defina os bits no membro dwFlags para indicar quais funções o driver dá suporte.
- Para funcionalidades, defina os membros apropriados da estrutura de funcionalidade com valores compatíveis com o driver/dispositivo.
- Retornar DD_OK em ddRVal.
O DirectDraw informa ao driver a quantidade esperada de dados no membro dwExpectedSize da estrutura DD_GETDRIVERINFODATA . O driver não deve preencher mais dados do que dwExpectedSize bytes.
Para evitar problemas ao usar DdGetDriverInfo:
- Não implemente dependências com base na ordem na qual DdGetDriverInfo é chamado. Por exemplo, evite conectar as etapas de inicialização do driver em DdGetDriverInfo.
- Não tente determinar a versão do DirectDraw com base nas chamadas para DdGetDriverInfo.
- Não suponha nada sobre o número de vezes que o DirectDraw chamará o driver ou o número de vezes que o DirectDraw consultará um determinado GUID. É possível que o DirectDraw investigue o driver repetidamente com o mesmo GUID. Implementar suposições sobre isso no driver dificulta sua compatibilidade com runtimes futuros.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | ddrawint.h (inclua Winddi.h) |