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) dado 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 minipuerto de pantalla proporcionó anteriormente este identificador al subsistema del kernel de gráficos de Microsoft DirectX en la función MiniportDeviceContext parámetro de salida del 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 en su lugar el controlador devuelve 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 siguiente sección Comentarios.

Observaciones

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, la memoria AGP/PCI Express o la memoria del sistema.

El controlador debe examinar la lista de ubicación de revisión proporcionada en el pPatchLocationList miembro de la estructura de 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 pAllocationList miembro 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 que el búfer DMA se envíe 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 submissionFenceId miembro de DXGKARG_PATCH en el comando de barrera al final del búfer DMA. Para obtener más información sobre este miembro, vea Proporcionar 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, 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 deben ser paginables.

Requisitos

Requisito Valor
cliente mínimo admitido Windows Vista
de la plataforma de destino de Escritorio
encabezado de d3dkmddi.h
irQL PASSIVE_LEVEL

Consulte también

DXGKARG_PATCH

dxgkDdiAddDevice