DXGKDDI_DISCONNECTDOORBELL funzione di callback (d3dkmddi.h)
Importante
Alcune informazioni riguardano un prodotto in versione preliminare che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non fornisce alcuna garanzia, espressa o implicita, in relazione alle informazioni fornite qui.
La funzione DxgkDdiDisconnectDoorbell disconnette un campanello connesso in precedenza da una coda hardware.
Sintassi
DXGKDDI_DISCONNECTDOORBELL DxgkddiDisconnectdoorbell;
NTSTATUS DxgkddiDisconnectdoorbell(
INOUT_PDXGKARG_DISCONNECTDOORBELL pArgs
)
{...}
Parametri
pArgs
[in/out] Puntatore a una struttura DXGKARG_DISCONNECTDOORBELL che descrive il campanello da disconnettere.
Valore restituito
DxgkDdiDisconnectDoorbell deve avere esito positivo e restituire STATUS_SUCCESS.
Osservazioni
Il sistema operativo chiama DxgkDdiDisconnectDoorbell per rimuovere il mapping della posizione del campanello fisico assegnato a questo campanello. KmD deve disconnettere la coda hardware, l'indirizzo fisico del campanello e il motore e così via. La posizione del campanello fisico può essere assegnata ad un altro oggetto campanello logico.
Il KMD non deve distruggere o liberare altri oggetti associati a hDoorbell perché l'oggetto campanello non viene distrutto e può essere riconnesso in un secondo momento.
Al ritorno da questa chiamata DDI, Dxgkrnl esegue i passaggi seguenti per disconnettere il campanello:
- Ruota la modalità utente DoorbellCpuVirtualAddress a una pagina fittizia in modo che UMD non possa più scrivere nella posizione del campanello fisico.
- Scrive D3DDDI_DOORBELL_STATUS_DISCONNECTED_RETRY in doorbellStatusCpuVirtualAddress in modo che UMD sappia che il campanello è disconnesso.
Per altre informazioni, vedere invio di lavoro in modalità utente.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 11, versione 24H2 (WDDM 3.2) |
intestazione | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |