Compartir a través de


DXGKDDI_OPENALLOCATIONINFO función de devolución de llamada (d3dkmddi.h)

La función DxgkDdiOpenAllocation enlaza asignaciones no específicas del dispositivo que la función DxgkDdiCreateAllocation creó a las asignaciones específicas del dispositivo de contexto de gráficos especificado.

Sintaxis

DXGKDDI_OPENALLOCATIONINFO DxgkddiOpenallocationinfo;

NTSTATUS DxgkddiOpenallocationinfo(
  [in] IN_CONST_HANDLE hDevice,
  [in] IN_CONST_PDXGKARG_OPENALLOCATION pOpenAllocation
)
{...}

Parámetros

[in] hDevice

Identificador del dispositivo de contexto gráfico desde el que se enlazan las asignaciones. La función DxgkDdiCreateDevice del controlador de miniporte de pantalla proporcionó anteriormente este identificador al subsistema del kernel de gráficos de Microsoft DirectX en el miembro hDevice de la estructura DXGKARG_CREATEDEVICE .

[in] pOpenAllocation

Puntero a una estructura de DXGKARG_OPENALLOCATION que contiene información sobre las asignaciones de enlace.

Valor devuelto

DxgkDdiOpenAllocation devuelve uno de los siguientes valores:

Código devuelto Descripción
STATUS_SUCCESS DxgkDdiOpenAllocation enlaza correctamente las asignaciones al dispositivo de contexto gráfico que especificó el parámetro hDevice.
STATUS_INVALID_PARAMETER Los parámetros que se pasaron a DxgkDdiOpenAllocation contenían errores que impedían que se completara.
STATUS_NO_MEMORY DxgkDdiOpenAllocation no pudo asignar memoria necesaria para que se completara.
STATUS_GRAPHICS_DRIVER_MISMATCH El controlador de minipuerto de pantalla de pantalla no es compatible con el controlador de pantalla en modo de usuario que inició la llamada a DxgkDdiOpenAllocation (es decir, se proporcionan datos privados al controlador de minipuerto de pantalla).

Comentarios

El subsistema del kernel de gráficos de DirectX llama a la función DxgkDdiAllocation del controlador de miniporte de pantalla para enlazar asignaciones específicas de dispositivos que la función DxgkDdiCreateAllocation creó para las asignaciones específicas del dispositivo de contexto gráfico que especifica el parámetro hDevice . El controlador de minipuerto de pantalla enlaza las asignaciones a un dispositivo para que el controlador pueda realizar un seguimiento de los datos de asignación específicos de un dispositivo.

El controlador de minipuerto de pantalla puede enlazar una asignación a cualquier dispositivo que cualquier proceso (en el mismo adaptador de gráficos) creado y no solo a un dispositivo en el proceso de creación.

Cuando DxgkDdiOpenAllocation devuelve STATUS_SUCCESS, el controlador establece el miembro hDeviceSpecificAllocation de la estructura DXGK_OPENALLOCATIONINFO para cada asignación a un valor distinto de NULL. La estructura DXGK_OPENALLOCATIONINFO para cada asignación es un elemento de la matriz que especifica el miembro pOpenAllocation de la estructura DXGKARG_OPENALLOCATION .

El controlador puede modificar los datos del controlador privado de asignación que se pasan en el miembro pPrivateDriverData de la estructura DXGK_OPENALLOCATIONINFO solo cuando se crea la asignación (que se indica cuando se establece la marca Crear campo de bits en el miembro Flags de la estructura DXGKARG_OPENALLOCATION ). El controlador debe determinar que solo puede leer los datos del controlador privado de asignación cuando se abre la asignación (es decir, cuando no se establece la marca Crear campo de bits).

DxgkDdiOpenAllocation debe ser paginable.

Requisitos

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

Consulte también

DXGKARG_CREATEDEVICE

DXGKARG_OPENALLOCATION

DXGK_OPENALLOCATIONINFO

DxgkDdiCreateAllocation

DxgkDdiCreateDevice