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 na função MiniportDeviceContext da função DxgkDdiAddDevice.
[in] pPatch
Um ponteiro para uma estrutura DXGKARG_PATCH que descreve o buffer de DMA a ser corrigido com endereços físicos.
Valor de retorno
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.
Observações
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 de 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 AGP/PCI Express ou memória do sistema.
O driver deve examinar a lista de localização de patch fornecida no pPatchLocationList membro da estrutura de DXGKARG_PATCH que é apontada pelo parâmetro pPatch para identificar locais no buffer DMA que devem ser corrigidos com endereços físicos. A lista de alocação fornecida (especificada pelo pAllocationList membro 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 gráfico do Microsoft DirectX fará com que ocorra uma verificação de bugs do sistema. Em um arquivo de despejo de falha, o erro é observado pela mensagem 0x119BugCheck, 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 |
---|---|
de cliente com suporte mínimo | Windows Vista |
da Plataforma de Destino | Área de trabalho |
cabeçalho | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |