DXGKDDI_MIRACAST_DESTROY_CONTEXT funzione di callback (dispmprt.h)

Elimina un'istanza di un dispositivo Miracast.

Sintassi

DXGKDDI_MIRACAST_DESTROY_CONTEXT DxgkddiMiracastDestroyContext;

void DxgkddiMiracastDestroyContext(
  [in] PVOID DriverContext,
  [in] PVOID MiracastContext
)
{...}

Parametri

[in] DriverContext

Handle a un blocco di contesto associato a una scheda di visualizzazione. La funzione DxgkDdiAddDevice del driver di visualizzazione ha fornito in precedenza questo handle al sottosistema del kernel della grafica DirectX.

[in] MiracastContext

Contesto del dispositivo Miracast, fornito dal sistema operativo. Questo contesto è stato fornito in precedenza dal driver in una chiamata alla funzione DxgkDdiMiracastCreateContext .

Valore restituito

nessuno

Osservazioni

Quando questa funzione viene chiamata, il driver miniport di visualizzazione deve rilasciare tutte le risorse in modalità kernel allocate quando ha elaborato la funzione DxgkDdiMiracastCreateContext e deve inviare immediatamente un valore di consapevolezza del plug-plug di partenza di monitoraggio (HPD) al sistema operativo.

Il sistema operativo garantisce che, dopo aver chiamato questa funzione, non eseguirà più chiamate alla funzione DxgkDdiMiracastIoControl .

Se un dispositivo Miracast viene disconnesso prima del completamento della funzione DxgkDdiCommitVidPn , mentre si verifica ancora un'operazione presente su questa destinazione Miracast, il driver miniport visualizzato non deve inviare dati al driver Miracast in modalità utente.

Se la funzione StopMiracastSession in modalità utente richiede troppo tempo, il sistema operativo chiama DxgkDdiMiracastDestroyContext mentre il driver Miracast in modalità utente è ancora in esecuzione. In questo caso, il sistema operativo blocca tutte le chiamate aggiuntive alla funzione MiracastIoControl in modalità utente.

Sincronizzazione

Il sistema operativo raggruppa le funzioni DxgkDdiMiracastCreateContext, DxgkDdiMiracastDestroyContext e DxgkDdiMiracastIoControl come classe Miracast . Il sistema operativo garantisce che queste funzioni seguono la modalità di sincronizzazione di secondo livello, come definito in Threading e Sync Second Level. Queste funzioni possono essere chiamate quando viene chiamato un altro livello 0, 1 o altre classi di funzioni di livello 2 in un altro contesto di thread. Tuttavia, solo una di queste funzioni di classe Miracast di livello 2 può essere chiamata alla volta.

Requisiti

Requisito Valore
Client minimo supportato Windows 8.1
Server minimo supportato Windows Server 2012 R2
Piattaforma di destinazione Desktop
Intestazione dispmprt.h (include Dispmprt.h)
IRQL PASSIVE_LEVEL

Vedi anche

DxgkDdiAddDevice

DxgkDdiCommitVidPn

DxgkDdiMiracastCreateContext

DxgkDdiMiracastIoControl

MiracastIoControl

StopMiracastSession