Partager via


DXGKDDI_MIRACAST_DESTROY_CONTEXT fonction de rappel (dispmprt.h)

Détruit un instance d’un appareil Miracast.

Syntaxe

DXGKDDI_MIRACAST_DESTROY_CONTEXT DxgkddiMiracastDestroyContext;

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

Paramètres

[in] DriverContext

Handle vers un bloc de contexte associé à un adaptateur d’affichage. La fonction DxgkDdiAddDevice du pilote miniport d’affichage a précédemment fourni ce handle au sous-système du noyau graphique DirectX.

[in] MiracastContext

Contexte de l’appareil Miracast, fourni par le système d’exploitation. Ce contexte était précédemment fourni par le pilote dans un appel à la fonction DxgkDdiMiracastCreateContext .

Valeur de retour

None

Remarques

Lorsque cette fonction est appelée, le pilote miniport d’affichage doit libérer toutes les ressources en mode noyau qu’il a allouées lors du traitement de la fonction DxgkDdiMiracastCreateContext , et il doit envoyer immédiatement une valeur de détection de prise à chaud (HPD) de départ du moniteur au système d’exploitation.

Le système d’exploitation garantit qu’après avoir appelé cette fonction, il n’effectuera plus d’appels à la fonction DxgkDdiMiracastIoControl .

Si un appareil Miracast est déconnecté avant la fin de la fonction DxgkDdiCommitVidPn , alors qu’une opération est toujours en cours sur cette cible Miracast, le pilote miniport d’affichage ne doit pas envoyer de données au pilote Miracast en mode utilisateur.

Si la fonction StopMiracastSession en mode utilisateur prend trop de temps, le système d’exploitation appelle DxgkDdiMiracastDestroyContext pendant que le pilote Miracast en mode utilisateur est toujours en cours d’exécution. Dans ce cas, le système d’exploitation bloque tout autre appel à la fonction MiracastIoControl en mode utilisateur.

Synchronisation

Le système d’exploitation regroupe les fonctions DxgkDdiMiracastCreateContext, DxgkDdiMiracastDestroyContext et DxgkDdiMiracastIoControl en tant que classe Miracast . Le système d’exploitation garantit que ces fonctions suivent le mode de synchronisation de deuxième niveau tel que défini dans Threading et Synchronisation deuxième niveau. Ces fonctions peuvent être appelées lorsque d’autres niveaux 0, 1 ou d’autres classes de fonctions de niveau 2 sont appelées sur un autre contexte de thread. Toutefois, une seule de ces fonctions de classe Miracast de niveau 2 peut être appelée à la fois.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8.1
Serveur minimal pris en charge Windows Server 2012 R2
Plateforme cible Desktop (Expérience utilisateur)
En-tête dispmprt.h (include Dispmprt.h)
IRQL PASSIVE_LEVEL

Voir aussi

DxgkDdiAddDevice

DxgkDdiCommitVidPn

DxgkDdiMiracastCreateContext

DxgkDdiMiracastIoControl

MiracastIoControl

StopMiracastSession