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

La función DxgkDdiAddDevice crea un bloque de contexto para un adaptador de pantalla y devuelve un identificador que representa el adaptador de pantalla.

Sintaxis

DXGKDDI_ADD_DEVICE DxgkddiAddDevice;

NTSTATUS DxgkddiAddDevice(
  [in]  IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
  [out] OUT_PPVOID MiniportDeviceContext
)
{...}

Parámetros

[in] PhysicalDeviceObject

Puntero a un objeto de dispositivo físico (PDO) que identifica un adaptador de pantalla.

[out] MiniportDeviceContext

Puntero a una variable que recibe un identificador, creado por el controlador de miniporte de pantalla, que representará el adaptador de pantalla identificado por PhysicalDeviceObject. El controlador de minipuerto de pantalla puede devolver NULL en este parámetro para indicar que no admitirá el adaptador de pantalla identificado por PhysicalDeviceObject.

Valor devuelto

DxgkDdiAddDevice devuelve STATUS_SUCCESS si se realiza correctamente; de lo contrario, devuelve uno de los códigos de error definidos en Ntstatus.h.

Comentarios

La función DxgkDdiAddDevice asigna un bloque de contexto privado asociado al adaptador de pantalla identificado por PhysicalDeviceObject. Puede considerar el identificador devuelto en MiniportDeviceContext como un identificador para el adaptador de pantalla o como un identificador para el bloque de contexto asociado al adaptador de pantalla. El subsistema del kernel de gráficos de DirectX (Dxgkrnl.sys) proporcionará el identificador en llamadas posteriores al controlador de minipuerto de pantalla. En la lista siguiente se proporcionan ejemplos de varios componentes de Dxgkrnl.sys pasar el identificador a las funciones implementadas por el controlador de minipuerto de pantalla.

  • El controlador de puerto de visualización proporciona el identificador en el parámetro MiniportDeviceContext de la función DxgkDdiStartDevice .

  • El administrador vidPN proporciona el identificador en el parámetro hAdapter de la función DxgkDdiIsSupportedVidPn .

  • El núcleo de gráficos directX proporciona el identificador en el parámetro hAdapter de la función DxgkDdiQueryAdapterInfo .

No se confunda por el hecho de que a veces el identificador se denomina MiniportDeviceContext y a veces se denomina hAdapter. Además, no confunda este controlador con el parámetro hDevice que se pasa a determinadas funciones del controlador de miniporte de pantalla.

DxgkDdiAddDevice se invoca para un dispositivo a la vez en serie. Su comportamiento es el mismo que el estándar DRIVER_ADD_DEVICE devolución de llamada para los controladores del modo kernel de WDM.

Algunas tarjetas de adaptador de pantalla tienen dos o más funciones PCI que desempeñan el papel del adaptador de pantalla. Por ejemplo, algunas tarjetas anteriores implementan varias vistas teniendo una función PCI independiente para cada vista. El controlador de puerto de visualización llama a DxgkDdiAddDevice una vez para cada una de esas funciones PCI, en cuyo momento el controlador de miniporte de pantalla puede indicar que admite la función PCI (estableciendo MiniportDeviceContext en un valor distinto de cero) o que no admite la función PCI (estableciendo MiniportDeviceContext en NULL). Para obtener información sobre una función PCI determinada, el controlador de minipuerto de pantalla puede pasar PhysicalDeviceObject a IoGetDeviceProperty.

En DxgkDdiRemoveDevice, libere el bloque de contexto y cualquier otro recurso que asigne durante DxgkDdiAddDevice.

La función DxgkDdiAddDevice debe ser paginable.

Requisitos

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

Consulte también

DxgkDdiRemoveDevice

DxgkDdiStartDevice