Condividi tramite


DXGKCB_DISCONNECTDOORBELL funzione di callback (d3dkmddi.h)

Importante

Alcune informazioni si riferiscono a un prodotto di versione preliminare che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

KMD chiama DxgkCbDisconnectDoorbell per notificare a Dxgkrnl che kmD deve disconnettere un campanello connesso in precedenza da una coda hardware.

Sintassi

DXGKCB_DISCONNECTDOORBELL DxgkcbDisconnectdoorbell;

NTSTATUS DxgkcbDisconnectdoorbell(
  INOUT_PDXGKARGCB_DISCONNECTDOORBELL pArgs
)
{...}

Parametri

pArgs

[in] Puntatore a una struttura DXGKARGCB_DISCONNECTDOORBELL che descrive il campanello da disconnettere.

Valore restituito

DxgkCbDisconnectDoorbell restituisce STATUS_INVALID_PARAMETER se Dxgkrnl non riesce a trovare l'hDoorbell associato per hHwQueue o se DisconnectReason non è uno dei valori D3DDDI_DOORBELLSTATUS_DISCONNECTED_XXX. In tutti gli altri casi questa funzione riesce, anche quando il campanello è già disconnesso.

Commenti

KMD chiama questa funzione per notificare a Dxgkrnl quando deve disconnettere un campanello. Il servizio di gestione delle chiavi deve considerare l'indirizzo della porta fisica da disconnettere solo dopo la restituzione da questo callback.

Dxgkrnl esegue il mapping degli indirizzi virtuali e contrassegna il campanello come disconnesso. In particolare, Dxgkrnl esegue i passaggi seguenti per disconnettere il campanello:

  • Ruota il doorbell in modalità utenteCpuVirtualAddress in una pagina fittizia in modo che UMD non possa più scrivere nella posizione del campanello fisico.
  • Scrive la DisconnessioneReasoninDoorbellStatusCpuVirtualAddress in modo che UMD sappia che il campanello è disconnesso e il motivo per cui.

Per altre informazioni, vedere Invio in modalità utente.

Requisiti

Requisito Valore
Client minimo supportato Windows 11 versione 24H2 (WDDM 3.2)
Intestazione d3dkmddi.h
IRQL PASSIVE_LEVEL

Vedi anche

DXGKARGCB_DISCONNECTDOORBELL

DxgkDdiConnectDoorbell