DXGKDDI_PATCH função de retorno de chamada (d3dkmddi.h)
A função DxgkDdiPatch atribui endereços físicos ao buffer de DMA (acesso direto à memória) fornecido antes que o buffer DMA seja enviado para o hardware gráfico.
Sintaxe
DXGKDDI_PATCH DxgkddiPatch;
NTSTATUS DxgkddiPatch(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_PATCH pPatch
)
{...}
Parâmetros
[in] hAdapter
Um identificador para um bloco de contexto associado a um adaptador de exibição. O driver de miniporto de exibição forneceu anteriormente esse identificador para o subsistema de kernel de elementos gráficos do Microsoft DirectX no parâmetro de saída MiniportDeviceContext da função DxgkDdiAddDevice .
[in] pPatch
Um ponteiro para uma estrutura DXGKARG_PATCH que descreve o buffer DMA a ser corrigido com endereços físicos.
Retornar valor
Retorna STATUS_SUCCESS após a conclusão bem-sucedida. Se o driver retornar um código de erro, o sistema operacional fará com que ocorra uma verificação de bugs do sistema. Para obter mais informações, consulte a seção Comentários a seguir.
Comentários
A função DxgkDdiPatch deve atribuir endereços físicos ao buffer DMA em vigor. Portanto, quando o driver de miniporto de exibição gera o buffer DMA, o driver deve garantir que o espaço esteja disponível no buffer de DMA para inserir instruções necessárias para lidar com endereços físicos. Observe que os endereços físicos podem corresponder à memória de vídeo, à memória expressa do AGP/PCI ou à memória do sistema.
O driver deve examinar a lista de localização de patch fornecida no membro pPatchLocationList da estrutura DXGKARG_PATCH apontada pelo parâmetro pPatch para identificar locais no buffer de DMA que devem ser corrigidos com endereços físicos. A lista de alocação fornecida (que é especificada pelo membro pAllocationList do DXGKARG_PATCH) também contém os endereços físicos gerados pelo gerenciador de memória de vídeo. A chamada para a função DxgkDdiPatch do driver é a última chance para o driver modificar o conteúdo do buffer DMA antes que o buffer DMA seja enviado para a GPU (unidade de processamento gráfico). Observe que o driver pode corrigir um buffer de DMA várias vezes em cenários em que o buffer de DMA é preemptado.
O driver pode corrigir o valor fornecido no membro SubmissionFenceId de DXGKARG_PATCH no comando fence no final do buffer DMA. Para obter mais informações sobre esse membro, consulte Fornecendo identificadores de cerca.
Se o driver retornar um código de erro, o subsistema de kernel de elementos gráficos do Microsoft DirectX fará com que ocorra uma verificação de bugs do sistema. Em um arquivo de despejo de memória, o erro é observado pela mensagem BugCheck 0x119, que tem os quatro parâmetros a seguir.
- 0x3
- Um ponteiro para uma estrutura de dados do agendador interno
- Um ponteiro para uma estrutura de dados do agendador interno
- Um ponteiro para uma estrutura de dados do agendador interno
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |