DXGKDDI_PREEMPTCOMMAND función de devolución de llamada (d3dkmddi.h)
La función DxgkDdiPreemptCommand adelanta un búfer de acceso directo a memoria (DMA) que se envió anteriormente a y actualmente en cola en la unidad de ejecución de comandos de hardware.
Sintaxis
DXGKDDI_PREEMPTCOMMAND DxgkddiPreemptcommand;
NTSTATUS DxgkddiPreemptcommand(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_PREEMPTCOMMAND pPreemptCommand
)
{...}
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] pPreemptCommand
Puntero a una estructura de DXGKARG_PREEMPTCOMMAND que describe el comando que se usa para adelantar un búfer DMA enviado previamente a la unidad de ejecución de comandos de hardware.
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
Si el controlador determina que el hardware ya ha terminado de procesar todos los búferes DMA enviados, y que el hardware informó al programador de la unidad de procesamiento de gráficos (GPU) sobre las finalizaciones, cuando se llama a su DxgkDdiPreemptCommand función para reemplazar los búferes DMA, El controlador debe realizar las siguientes operaciones en lugar de enviar la barrera de adelantamiento identificada por el PreemptionFenceId miembro de DXGKARG_PREEMPTCOMMAND al hardware:
- Genere IRQL para interrumpir el nivel. Por ejemplo, el controlador puede llamar a la función DxgkCbSynchronizeExecution para sincronizar con su función DxgkDdiInterruptRoutine.
-
Informe al programador de GPU sobre la información de adelantamiento. El controlador puede llamar directamente a la función DxgkCbNotifyInterrupt o llamar a su función DxgkDdiInterruptRoutine (por ejemplo, si el controlador también debe realizar otras actualizaciones).
Tenga en cuenta que el programador de GPU controla las instancias en las que el hardware ha dejado de responder debido al trabajo de detección de tiempo de espera y recuperación (TDR).
- 0x2
- El código de error NTSTATUS devuelto desde la llamada al controlador con errores
- Puntero a la estructura DXGKARG_PREEMPTCOMMAND
- Puntero a una estructura de datos de programador interna
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista |
de la plataforma de destino de | Escritorio |
encabezado de | d3dkmddi.h |
irQL | DISPATCH_LEVEL |