Plug-and-Play (PnP) dans WDDM 1.2 et versions ultérieures

Tous les pilotes d’affichage windows WDDM (Windows Display Driver Model) 1.2 et versions ultérieures doivent prendre en charge le comportement suivant en réponse aux demandes de démarrage et d’arrêt de l’infrastructure Plug-and-Play (PnP). Le comportement peut varier selon que le pilote retourne un code de réussite ou d’échec, ou que le matériel système est basé sur le système d’entrée/sortie de base (BIOS) ou l’interface UEFI (Unified Extensible Firmware Interface).

Version WDDM minimale 1,2
Version minimale de Windows 8
Implémentation du pilote - Graphiques complets et affichage uniquement Obligatoire
Exigences et tests WHCK

Device.Graphics.WDDM12.Display.PnpStopStartSupport

Afficher le pilote Miniport PnP DDI

À compter de Windows 8, le sous-système du noyau graphique Microsoft DirectX fournit cette fonction qu’un pilote peut appeler si le périphérique d’affichage est démarré ou repris à partir de la mise en veille prolongée :

Ces fonctions et cette structure sont disponibles pour le pilote miniport d’affichage afin d’implémenter les exigences PnP wdDM 1.2 et ultérieures :

Opération de démarrage PnP

Un processus de démarrage Plug-and-Play (PnP) sur le périphérique d’affichage se produit au démarrage ou lors d’une mise à niveau d’un pilote d’affichage à un autre. Dans ce cas, le pilote doit appeler la fonction DxgkCbAcquirePostDisplayOwnership pour obtenir des informations sur la mémoire tampon de trame et maintenir la synchronisation d’affichage. Les informations de mémoire tampon de trame sont fournies à partir du microprogramme ou du pilote WDDM 1.2 et ultérieur précédent qui a été chargé sur le système.

Pendant les appels que le système d’exploitation effectue à la fonction DxgkDdiSetPowerState pour revenir à l’état d’alimentation D0, et à la fonction DxgkDdiStartDevice, le pilote WDDM 1.2 et ultérieur doit définir la visibilité de la source sur false (DXGKARG_SETVIDPNSOURCEVISIBILITY.False visible = ) pour toutes les cibles VidPN (Video Present Network) actives. Dans ce cas, le matériel de pipeline d’affichage doit conserver les signaux de synchronisation avec le moniteur, mais le pipeline doit continuer à envoyer des données de pixels noirs au moniteur, quelles que soient les données de pixel présentes dans la surface en cours d’analyse. Cela signifie que le pipeline de pixels est garanti pour vider le moniteur avec tous les pixels noirs. Plus tard, lorsque la première image est rendue dans la mémoire tampon de frame, le système d’exploitation définit la visibilité de la source sur true.

Toutes ces procédures maintiennent la synchronisation du moniteur et garantissent que l’utilisateur ne voit pas de flashs ou de clignotements à l’écran.

Il s’agit des codes de retour que le pilote doit retourner après un processus de démarrage PnP.

Code de retour du pilote Description

Succès

Le comportement est le même que dans Windows 7.

Pour un système BIOS, si le pilote démarre correctement, la mémoire tampon de trame est toujours active et le pilote doit être prêt à être défini sur un mode valide.

Échec

Pour un système bios, le pilote doit laisser le système dans un état compatible avec le BIOS.

Pour un système UEFI, le pilote doit laisser l’affichage dans le même mode que celui défini par le protocole GOP (Graphics Output Protocol) UEFI afin que le pilote d’affichage de base puisse utiliser l’affichage. Le pilote doit retourner un code d’erreur valide. Si le pilote ne peut pas laisser le goP dans un état qui peut être utilisé par le pilote d’affichage de base, le pilote doit retourner le code d’erreur STATUS_GRAPHICS_STALE_MODESET à partir de Ntstatus.h, et le système d’exploitation provoque une vérification d’erreur système.

Opération d’arrêt PnP

Un processus d’arrêt Plug-and-Play (PnP) sur le périphérique d’affichage se produit généralement lorsqu’un pilote est mis à niveau vers une nouvelle version. Dans ce cas, le système d’exploitation appelle la fonction DxgkDdiStopDeviceAndReleasePostDisplayOwnership du pilote, qui exige que le pilote fournisse des informations précises sur la mémoire tampon de trame.

Dans l’appel DxgkDdiStopDeviceAndReleasePostDisplayOwnership, le pilote doit s’assurer que la visibilité de la source pour les cibles VidPn actives est vraie (DXGKARG_SETVIDPNSOURCEVISIBILITY.True visible = ). En outre, à compter de WDDM 1.2, le pilote doit s’assurer que la surface à partir de laquelle le pipeline de pixels est programmé pour analyser est remplie de pixels noirs. Le pilote doit terminer le remplissage de la surface avec des pixels noirs avant que la visibilité de la source soit définie sur true.

Veillez également à implémenter DxgkDdiStopDevice dans votre pilote. Dans certains cas, le système d’exploitation peut appeler DxgkDdiStopDevice au lieu de DxgkDdiStopDeviceAndReleasePostDisplayOwnership, ou après l’échec d’un appel à DxgkDdiStopDeviceAndReleasePostDisplayOwnership .

Il s’agit des codes de retour que le pilote doit retourner après un processus d’arrêt PnP.

Code de retour du pilote Description

Informations sur la réussite et le pilote retourne des informations sur le mode

Avant l’arrêt du pilote, il doit configurer une mémoire tampon de frame, à l’aide de la résolution actuelle, que le pilote d’affichage de base peut utiliser, et le pilote doit retourner ces informations lorsque le système d’exploitation appelle la fonction DxgkDdiStopDeviceAndReleasePostDisplayOwnership . Les informations du mode enregistré ne doivent pas être compatibles avec le BIOS, et le pilote d’affichage de base n’offre pas de mode BIOS tant que le système n’est pas redémarré.

Le système d’exploitation garantit qu’il n’appellera pas DxgkDdiStopDevice si DxgkDdiStopDeviceAndReleasePostDisplayOwnership retourne STATUS_SUCCESS.

Réussite et le pilote définit les membres Width et Height de la structure DXGK_DISPLAY_INFORMATION sur zéro

Ce scénario n’est possible que si le système a deux cartes graphiques, qu’aucun moniteur n’est connecté à l’appareil auto-test d’alimentation (POST) actuel et que le système d’exploitation appelle la fonction DxgkDdiStopDeviceAndReleasePostDisplayOwnership pour arrêter l’appareil POST.

Dans ce cas, l’affichage actuel continue de s’exécuter sur la deuxième carte graphique, et le pilote d’affichage de base s’exécute en mode sans tête sur l’adaptateur qui prend en charge le périphérique POST.

Échec

Le système d’exploitation appelle l’interface du pilote d’arrêt PnP de style Windows 7 via la fonction DxgkDdiStopDevice .

Pour un système bios, le pilote doit définir l’affichage en mode compatible bios.

Pour un système UEFI, le pilote d’affichage de base s’exécute en mode sans tête sur la carte graphique.

Pour plus d’informations sur pnP et d’autres transitions d’état, consultez Fournir des transitions d’état transparentes dans WDDM 1.2 et versions ultérieures.

Exigences de certification matérielle

Pour plus d’informations sur les exigences que les périphériques matériels doivent respecter lorsqu’ils implémentent cette fonctionnalité, consultez la documentation WHCK appropriée sur Device.Graphics.WDDM12.Display.PnpStopStartSupport.

Consultez fonctionnalités WDDM 1.2 pour passer en revue les fonctionnalités ajoutées avec Windows 8.