DXGKDDI_PATCH funzione di callback (d3dkmddi.h)
La funzione DxgkDdiPatch assegna indirizzi fisici al buffer DMA (Direct Memory Access) specificato prima che il buffer DMA venga inviato all'hardware grafico.
Sintassi
DXGKDDI_PATCH DxgkddiPatch;
NTSTATUS DxgkddiPatch(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_PATCH pPatch
)
{...}
Parametri
[in] hAdapter
Handle di un blocco di contesto associato a una scheda di visualizzazione. Il driver miniport di visualizzazione precedentemente fornito questo handle al sottosistema kernel della grafica Microsoft DirectX nel MiniportDeviceContext parametro di output della funzione DxgkDdiAddDevice.
[in] pPatch
Puntatore a una struttura DXGKARG_PATCH che descrive il buffer DMA a cui applicare patch con indirizzi fisici.
Valore restituito
Restituisce STATUS_SUCCESS al completamento corretto. Se il driver restituisce invece un codice di errore, il sistema operativo causa un controllo errori del sistema. Per altre informazioni, vedere la sezione Osservazioni seguente.
Osservazioni
La funzione DxgkDdiPatch deve assegnare indirizzi fisici al buffer DMA. Pertanto, quando il driver miniport di visualizzazione genera il buffer DMA, il driver deve assicurarsi che lo spazio sia disponibile nel buffer DMA per inserire istruzioni necessarie per gestire gli indirizzi fisici. Si noti che gli indirizzi fisici possono corrispondere alla memoria video, alla memoria AGP/PCI Express o alla memoria di sistema.
Il driver deve esaminare l'elenco di percorsi patch fornito nel pPatchLocationList membro della struttura DXGKARG_PATCH a cui punta il parametro pPatch per identificare le posizioni nel buffer DMA che devono essere applicate patch con indirizzi fisici. L'elenco di allocazioni fornito (specificato dal membro pAllocationList di DXGKARG_PATCH) contiene anche gli indirizzi fisici generati dalla gestione della memoria video. La chiamata alla funzione dxgkDdiPatch del driver è l'ultima possibilità per il driver di modificare il contenuto del buffer DMA prima che il buffer DMA venga inviato all'unità di elaborazione grafica (GPU). Si noti che il driver può applicare più volte patch a un buffer DMA negli scenari in cui viene superato il buffer DMA.
Il driver può applicare patch al valore fornito nel SubmissionFenceId membro di DXGKARG_PATCH nel comando di isolamento alla fine del buffer DMA. Per altre informazioni su questo membro, vedere specificare identificatori di recinto.
Se il driver restituisce un codice di errore, il sottosistema kernel della grafica Microsoft DirectX causa la verifica di un bug di sistema. In un file di dump di arresto anomalo del sistema, l'errore viene indicato dal messaggio BugCheck 0x119, con i quattro parametri seguenti.
- 0x3
- Puntatore a una struttura di dati dell'utilità di pianificazione interna
- Puntatore a una struttura di dati dell'utilità di pianificazione interna
- Puntatore a una struttura di dati dell'utilità di pianificazione interna
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista |
piattaforma di destinazione | Desktop |
intestazione | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |