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:
Allocare una struttura DXGK_AGP_INTERFACE .
Impostare il membro Size su sizeof(DXGK_AGP_INTERFACE).
Impostare il membro Version . Le costanti della versione sono definite in Dispmprt.h (ad esempio, DXGK_AGP_INTERFACE_VERSION_1).
Chiama DxgkCbQueryServices; impostare ServicesType su DxgkServicesAgp e impostare Interface sull'indirizzo (cast come PINTERFACE) della struttura DXGK_AGP_INTERFACE .
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:
Allocare una struttura DXGK_DEBUG_REPORT_INTERFACE .
Impostare il membro Size su sizeof(DXGK_DEBUG_REPORT_INTERFACE).
Impostare il membro Version . Le costanti della versione sono definite in Dispmprt.h (ad esempio, DXGK_DEBUG_REPORT_INTERFACE_VERSION_1).
Chiama DxgkCbQueryServices; impostare ServicesType su DxgkServicesDebugReport e impostare Interface sull'indirizzo (cast come PINTERFACE) della struttura DXGK_DEBUG_REPORT_INTERFACE .
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:
Allocare una struttura DXGK_TIMED_OPERATION_INTERFACE .
Impostare il membro Size su sizeof(DXGK_TIMED_OPERATION_INTERFACE).
Impostare il membro Version . Le costanti della versione sono definite in Dispmprt.h (ad esempio, DXGK_TIMED_OPERATION_INTERFACE_VERSION_1).
Chiama DxgkCbQueryServices; impostare ServicesType su DxgkServicesTimedOperation e impostare Interface sull'indirizzo (cast come PINTERFACE) della struttura DXGK_TIMED_OPERATION_INTERFACE .
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 |