Compartir a través de


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

La función DxgkDdiPatch asigna direcciones físicas al búfer de acceso directo a memoria (DMA) especificado antes de enviar el búfer DMA al hardware gráfico.

Sintaxis

DXGKDDI_PATCH DxgkddiPatch;

NTSTATUS DxgkddiPatch(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_PATCH pPatch
)
{...}

Parámetros

[in] hAdapter

Identificador de un bloque de contexto asociado a un adaptador de pantalla. El controlador de miniporte de pantalla proporcionó anteriormente este identificador al subsistema del kernel de gráficos de Microsoft DirectX en el parámetro de salida MiniportDeviceContext de la función DxgkDdiAddDevice .

[in] pPatch

Puntero a una estructura de DXGKARG_PATCH que describe el búfer DMA que se va a aplicar revisiones con direcciones físicas.

Valor devuelto

Devuelve STATUS_SUCCESS tras la finalización correcta. Si el controlador devuelve en su lugar un código de error, el sistema operativo hace que se produzca una comprobación de errores del sistema. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

Comentarios

La función DxgkDdiPatch debe asignar direcciones físicas al búfer DMA en su lugar. Por lo tanto, cuando el controlador de miniporte de pantalla genera el búfer DMA, el controlador debe asegurarse de que el espacio está disponible en el búfer DMA para insertar instrucciones necesarias para controlar las direcciones físicas. Tenga en cuenta que las direcciones físicas pueden corresponder a la memoria de vídeo, a la memoria AGP/PCI Express o a la memoria del sistema.

El controlador debe examinar la lista de ubicación de revisión proporcionada en el miembro pPatchLocationList de la estructura DXGKARG_PATCH a la que apunta el parámetro pPatch para identificar lugares en el búfer DMA que se deben aplicar revisiones con direcciones físicas. La lista de asignación proporcionada (especificada por el miembro pAllocationList de DXGKARG_PATCH) también contiene las direcciones físicas que genera el administrador de memoria de vídeo. La llamada a la función DxgkDdiPatch del controlador es la última oportunidad para que el controlador modifique el contenido del búfer DMA antes de enviar el búfer DMA a la unidad de procesamiento de gráficos (GPU). Tenga en cuenta que el controlador puede aplicar revisiones a un búfer DMA varias veces en escenarios en los que se adelante el búfer DMA.

El controlador puede revisar el valor proporcionado en el miembro SubmissionFenceId de DXGKARG_PATCH en el comando de barrera al final del búfer DMA. Para obtener más información sobre este miembro, vea Suministro de identificadores de barrera.

Si el controlador devuelve un código de error, el subsistema del kernel de gráficos de Microsoft DirectX hace que se produzca una comprobación de errores del sistema. En un archivo de volcado de memoria, el mensaje BugCheck 0x119 indica el error, que tiene los cuatro parámetros siguientes.

  1. 0x3
  2. Puntero a una estructura de datos de programador interna
  3. Puntero a una estructura de datos de programador interna
  4. Puntero a una estructura de datos de programador interna
DxgkDdiPatch 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_PATCH

DxgkDdiAddDevice