Compartir a través de


DXGKCB_QUERY_SERVICES función de devolución de llamada (dispmprt.h)

La función DxgkCbQueryServices devuelve una interfaz implementada por el controlador de puerto de visualización.

Sintaxis

DXGKCB_QUERY_SERVICES DxgkcbQueryServices;

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

Parámetros

[in] DeviceHandle

Identificador que representa un adaptador de pantalla. El controlador de minipuerto de pantalla obtuvo previamente este identificador en el miembro DeviceHandle de la estructura DXGKRNL_INTERFACE que se pasó a DxgkDdiStartDevice.

[in] ServicesType

Constante de la enumeración DXGK_SERVICES que especifica qué interfaz se solicita.

[in, out] Interface

Puntero a una estructura INTERFACE que recibe la interfaz solicitada.

Valor devuelto

DxgkCbQueryServices devuelve STATUS_SUCCESS si se ejecuta correctamente. De lo contrario, devuelve uno de los códigos de error definidos en Ntstatus.h.

Comentarios

Una interfaz, en este contexto, es un conjunto de funciones implementadas por el controlador de puerto de visualización. El controlador de puerto de visualización hace que las funciones de una interfaz estén disponibles para otros controladores proporcionando punteros de función en respuesta a DxgkCbQueryServices.

Obtención de la interfaz AGP

Para obtener una interfaz de Puerto gráfico acelerado (AGP), haga lo siguiente:

  1. Asigne una estructura de DXGK_AGP_INTERFACE .

  2. Establezca el miembro Size en sizeof(DXGK_AGP_INTERFACE).

  3. Establezca el miembro Versión . Las constantes de versión se definen en Dispmprt.h (por ejemplo, DXGK_AGP_INTERFACE_VERSION_1).

  4. Llame a DxgkCbQueryServices; establezca ServicesType en DxgkServicesAgp y establezca Interfaz en la dirección (conversión como PINTERFACE) de la estructura de DXGK_AGP_INTERFACE .

  5. Al devolver desde DxgkCbQueryServices, la estructura de DXGK_AGP_INTERFACE contendrá punteros a las funciones de la interfaz AGP; por ejemplo, AgpAllocatePool.

Obtención de la interfaz Debug Report

Para obtener una interfaz de informe de depuración, haga lo siguiente:

  1. Asigne una estructura de DXGK_DEBUG_REPORT_INTERFACE .

  2. Establezca el miembro Size en sizeof(DXGK_DEBUG_REPORT_INTERFACE).

  3. Establezca el miembro Versión . Las constantes de versión se definen en Dispmprt.h (por ejemplo, DXGK_DEBUG_REPORT_INTERFACE_VERSION_1).

  4. Llame a DxgkCbQueryServices; establezca ServicesType en DxgkServicesDebugReport y establezca Interfaz en la dirección (conversión como PINTERFACE) de la estructura de DXGK_DEBUG_REPORT_INTERFACE .

  5. Al volver desde DxgkCbQueryServices, la estructura de DXGK_DEBUG_REPORT_INTERFACE contendrá punteros a las funciones de interfaz Debug Report; por ejemplo, DbgReportCreate.

Obtención de la interfaz operación con tiempo

Para obtener una interfaz de operación con tiempo, haga lo siguiente:

  1. Asigne una estructura de DXGK_TIMED_OPERATION_INTERFACE .

  2. Establezca el miembro Size en sizeof(DXGK_TIMED_OPERATION_INTERFACE).

  3. Establezca el miembro Versión . Las constantes de versión se definen en Dispmprt.h (por ejemplo, DXGK_TIMED_OPERATION_INTERFACE_VERSION_1).

  4. Llame a DxgkCbQueryServices; establezca ServicesType en DxgkServicesTimedOperation y establezca Interfaz en la dirección (conversión como PINTERFACE) de la estructura de DXGK_TIMED_OPERATION_INTERFACE .

  5. Al devolver de DxgkCbQueryServices, la estructura de DXGK_TIMED_OPERATION_INTERFACE contendrá punteros a las funciones de la interfaz operación con tiempo; por ejemplo, TimedOperationStart.

Obtención de las interfaces spB y tabla de firmware del sistema

Las interfaces Simple Peripheral Bus (SPB) y System Firmware Table se pueden obtener de forma similar siguiendo los pasos anteriores mediante el ServicesType y la estructura adecuados.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Plataforma de destino Escritorio
Encabezado dispmprt.h (include Dispmprt.h)
IRQL PASSIVE_LEVEL

Consulte también

DXGK_AGP_INTERFACE

DxgkDdiStartDevice

DXGK_DEBUG_REPORT_INTERFACE

DXGK_FIRMWARE_TABLE_INTERFACE

DXGK_SERVICES

DXGK_SPB_INTERFACE

DXGK_TIMED_OPERATION_INTERFACE

DXGKRNL_INTERFACE

INTERFAZ