DXGKCB_QUERY_SERVICES funzione di callback (dispmprt.h)

La funzione DxgkCbQueryServices restituisce un'interfaccia implementata dal driver della porta di visualizzazione.

Sintassi

DXGKCB_QUERY_SERVICES DxgkcbQueryServices;

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

Parametri

[in] DeviceHandle

Handle che rappresenta una scheda di visualizzazione. Il driver miniport di visualizzazione ottenuto in precedenza questo handle nel membro DeviceHandle della struttura DXGKRNL_INTERFACE passata a DxgkDdiStartDevice.

[in] ServicesType

Costante dell'enumerazione DXGK_SERVICES che specifica l'interfaccia richiesta.

[in, out] Interface

Puntatore a una struttura INTERFACE che riceve l'interfaccia richiesta.

Valore restituito

DxgkCbQueryServices restituisce STATUS_SUCCESS se ha esito positivo. In caso contrario, restituisce uno dei codici di errore definiti in Ntstatus.h.

Commenti

Un'interfaccia, in questo contesto, è un set di funzioni implementate dal driver della porta di visualizzazione. Il driver della porta di visualizzazione rende disponibili le funzioni di un'interfaccia ad altri driver fornendo puntatori a funzione in risposta a DxgkCbQueryServices.

Recupero dell'interfaccia AGP

Per ottenere un'interfaccia AGP (Accelerated Graphics Port), eseguire le operazioni seguenti:

  1. Allocare una struttura DXGK_AGP_INTERFACE .

  2. Impostare il membro Size su sizeof(DXGK_AGP_INTERFACE).

  3. Impostare il membro Version . Le costanti della versione sono definite in Dispmprt.h (ad esempio, DXGK_AGP_INTERFACE_VERSION_1).

  4. Chiama DxgkCbQueryServices; impostare ServicesType su DxgkServicesAgp e impostare Interface sull'indirizzo (cast come PINTERFACE) della struttura DXGK_AGP_INTERFACE .

  5. Al ritorno da DxgkCbQueryServices, la struttura DXGK_AGP_INTERFACE conterrà puntatori alle funzioni di interfaccia AGP; ad esempio AgpAllocatePool.

Recupero dell'interfaccia del report di debug

Per ottenere un'interfaccia del report di debug, eseguire le operazioni seguenti:

  1. Allocare una struttura DXGK_DEBUG_REPORT_INTERFACE .

  2. Impostare il membro Size su sizeof(DXGK_DEBUG_REPORT_INTERFACE).

  3. Impostare il membro Version . Le costanti della versione sono definite in Dispmprt.h (ad esempio, DXGK_DEBUG_REPORT_INTERFACE_VERSION_1).

  4. Chiama DxgkCbQueryServices; impostare ServicesType su DxgkServicesDebugReport e impostare Interface sull'indirizzo (cast come PINTERFACE) della struttura DXGK_DEBUG_REPORT_INTERFACE .

  5. Al ritorno da DxgkCbQueryServices, la struttura DXGK_DEBUG_REPORT_INTERFACE conterrà puntatori alle funzioni di interfaccia debug report; Ad esempio, DbgReportCreate.

Recupero dell'interfaccia operazione temporizzato

Per ottenere un'interfaccia Operazione temporizzato, eseguire le operazioni seguenti:

  1. Allocare una struttura DXGK_TIMED_OPERATION_INTERFACE .

  2. Impostare il membro Size su sizeof(DXGK_TIMED_OPERATION_INTERFACE).

  3. Impostare il membro Version . Le costanti della versione sono definite in Dispmprt.h (ad esempio, DXGK_TIMED_OPERATION_INTERFACE_VERSION_1).

  4. Chiama DxgkCbQueryServices; impostare ServicesType su DxgkServicesTimedOperation e impostare Interface sull'indirizzo (cast come PINTERFACE) della struttura DXGK_TIMED_OPERATION_INTERFACE .

  5. Al ritorno da DxgkCbQueryServices, la struttura DXGK_TIMED_OPERATION_INTERFACE conterrà puntatori alle funzioni dell'interfaccia Operazione temporale; Ad esempio , TimedOperationStart.

Recupero delle interfacce SPB e System Firmware Table

Le interfacce Simple Peripheral Bus (SPB) e System Firmware Table possono essere ottenute in modo analogo attenendosi ai passaggi precedenti usando il ServicesType e la struttura appropriati.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Piattaforma di destinazione Desktop
Intestazione dispmprt.h (include Dispmprt.h)
IRQL PASSIVE_LEVEL

Vedi anche

DXGK_AGP_INTERFACE

DxgkDdiStartDevice

DXGK_DEBUG_REPORT_INTERFACE

DXGK_FIRMWARE_TABLE_INTERFACE

DXGK_SERVICES

DXGK_SPB_INTERFACE

DXGK_TIMED_OPERATION_INTERFACE

DXGKRNL_INTERFACE

INTERFACCIA