Compartilhar via


DXGKCB_QUERY_SERVICES função de retorno de chamada (dispmprt.h)

A função DxgkCbQueryServices retorna uma interface implementada pelo driver de porta de exibição.

Sintaxe

DXGKCB_QUERY_SERVICES DxgkcbQueryServices;

NTSTATUS DxgkcbQueryServices(
  [in]      HANDLE DeviceHandle,
  [in]      DXGK_SERVICES ServicesType,
  [in, out] PINTERFACE Interface
)
{...}

Parâmetros

[in] DeviceHandle

Um identificador que representa um adaptador de exibição. O driver de miniporto de exibição obteve anteriormente esse identificador no membro DeviceHandle da estrutura DXGKRNL_INTERFACE que foi passada para DxgkDdiStartDevice.

[in] ServicesType

Uma constante da enumeração DXGK_SERVICES que especifica qual interface está sendo solicitada.

[in, out] Interface

Um ponteiro para uma estrutura interface que recebe a interface solicitada.

Retornar valor

DxgkCbQueryServices retornará STATUS_SUCCESS se for bem-sucedido. Caso contrário, ele retornará um dos códigos de erro definidos em Ntstatus.h.

Comentários

Uma interface, nesse contexto, é um conjunto de funções implementadas pelo driver de porta de exibição. O driver de porta de exibição disponibiliza as funções de uma interface para outros drivers fornecendo ponteiros de função em resposta a DxgkCbQueryServices.

Obtendo a interface AGP

Para obter uma interface AGP (Porta Gráfica Acelerada), faça o seguinte:

  1. Alocar uma estrutura de DXGK_AGP_INTERFACE .

  2. Defina o membro Size como sizeof(DXGK_AGP_INTERFACE).

  3. Defina o membro Version . As constantes de versão são definidas em Dispmprt.h (por exemplo, DXGK_AGP_INTERFACE_VERSION_1).

  4. Chame DxgkCbQueryServices; defina ServicesType como DxgkServicesAgp e defina Interface como o endereço (convertido como PINTERFACE) de sua estrutura DXGK_AGP_INTERFACE .

  5. No retorno de DxgkCbQueryServices, sua estrutura de DXGK_AGP_INTERFACE conterá ponteiros para as funções de interface do AGP; por exemplo, AgpAllocatePool.

Obtendo a interface de Relatório de Depuração

Para obter uma interface de Relatório de Depuração, faça o seguinte:

  1. Alocar uma estrutura de DXGK_DEBUG_REPORT_INTERFACE .

  2. Defina o membro Size como sizeof(DXGK_DEBUG_REPORT_INTERFACE).

  3. Defina o membro Version . As constantes de versão são definidas em Dispmprt.h (por exemplo, DXGK_DEBUG_REPORT_INTERFACE_VERSION_1).

  4. Chame DxgkCbQueryServices; defina ServicesType como DxgkServicesDebugReport e defina Interface como o endereço (convertido como PINTERFACE) de sua estrutura de DXGK_DEBUG_REPORT_INTERFACE .

  5. No retorno de DxgkCbQueryServices, sua estrutura de DXGK_DEBUG_REPORT_INTERFACE conterá ponteiros para as funções de interface de Relatório de Depuração; por exemplo, DbgReportCreate.

Obtendo a interface de operação cronometrada

Para obter uma interface de Operação Cronometrada, faça o seguinte:

  1. Alocar uma estrutura de DXGK_TIMED_OPERATION_INTERFACE .

  2. Defina o membro Size como sizeof(DXGK_TIMED_OPERATION_INTERFACE).

  3. Defina o membro Version . As constantes de versão são definidas em Dispmprt.h (por exemplo, DXGK_TIMED_OPERATION_INTERFACE_VERSION_1).

  4. Chame DxgkCbQueryServices; defina ServicesType como DxgkServicesTimedOperation e defina Interface como o endereço (convertido como PINTERFACE) de sua estrutura DXGK_TIMED_OPERATION_INTERFACE .

  5. No retorno de DxgkCbQueryServices, sua estrutura de DXGK_TIMED_OPERATION_INTERFACE conterá ponteiros para as funções de interface operação cronometrada; por exemplo, TimedOperationStart.

Obtendo as interfaces SPB e System Firmware Table

As interfaces SPB (Barramento Periférico Simples) e Tabela de Firmware do Sistema podem ser obtidas da mesma forma seguindo as etapas acima usando o ServicesType e a estrutura apropriados.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Plataforma de Destino Área de Trabalho
Cabeçalho dispmprt.h (inclua Dispmprt.h)
IRQL PASSIVE_LEVEL

Confira também

DXGK_AGP_INTERFACE

DxgkDdiStartDevice

DXGK_DEBUG_REPORT_INTERFACE

DXGK_FIRMWARE_TABLE_INTERFACE

DXGK_SERVICES

DXGK_SPB_INTERFACE

DXGK_TIMED_OPERATION_INTERFACE

DXGKRNL_INTERFACE

INTERFACE