Compartilhar via


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.
Se o driver não der suporte ao recurso, ele deverá definir ddRVal como DDERR_CURRENTLYNOTAVAIL e retornar.

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)

Confira também

DD_GETDRIVERINFODATA

DrvEnableDirectDraw

DrvGetDirectDrawInfo