DXGKDDI_SYSTEM_DISPLAY_WRITE fonction de rappel (dispmprt.h)

Appelé par le système d’exploitation pour demander au pilote de miniport d’affichage d’écrire un bloc d’images sur le périphérique d’affichage.

À compter de Windows 8, le système d’exploitation appelle cette fonction lors d’une opération de vérification d’erreur à la suite d’une erreur d’arrêt du système. Le système d’exploitation appelle cette fonction uniquement si le périphérique d’affichage a été précédemment réinitialisé via un appel à DxgkDdiSystemDisplayEnable.

Syntaxe

DXGKDDI_SYSTEM_DISPLAY_WRITE DxgkddiSystemDisplayWrite;

void DxgkddiSystemDisplayWrite(
  [in] PVOID MiniportDeviceContext,
  [in] PVOID Source,
  [in] UINT SourceWidth,
  [in] UINT SourceHeight,
  [in] UINT SourceStride,
  [in] UINT PositionX,
  [in] UINT PositionY
)
{...}

Paramètres

[in] MiniportDeviceContext

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 Microsoft DirectX.

[in] Source

Pointeur vers l’adresse de début de l’image source à écrire dans l’écran de vérification d’erreur qui affiche des informations sur l’erreur d’arrêt du système.

[in] SourceWidth

Valeur UINT qui spécifie la largeur, en unités de pixels, de l’image source spécifiée.

[in] SourceHeight

Valeur UINT qui spécifie la hauteur, en unités de pixels, de l’image source spécifiée.

[in] SourceStride

Valeur UINT qui spécifie le nombre d’octets pour chaque ligne de l’image source spécifiée.

[in] PositionX

Valeur UINT qui spécifie la coordonnée X de départ dans laquelle l’image source spécifiée doit être écrite sur l’appareil d’affichage.

[in] PositionY

Valeur UINT qui spécifie la coordonnée Y de départ dans laquelle l’image source spécifiée doit être écrite sur l’appareil d’affichage.

Valeur de retour

None

Remarques

Restrictions relatives à l’image source

Le pilote de miniport d’affichage doit suivre ces instructions lorsque sa fonction DxgkDdiSystemDisplayWrite est appelée :
  • Le format de couleur de l’image source est toujours dans les formats D3DDDIFMT_R8G8B8 (24 bits par pixel) ou D3DDDIFMT_A8R8G8B8 (32 bpp) de l’énumération D3DDDIFORMAT . Le pilote de miniport d’affichage avait précédemment défini le mode d’affichage pour activer les opérations d’écriture dans ce format lors de l’appel de son DxgkDdiSystemDisplayEnable .
  • L’image source est en mémoire non paginée. Le pilote de miniport d’affichage doit écrire cette image source dans la mémoire tampon de trame actuelle en commençant aux positions spécifiées par les paramètres PostionX et PositionY .
  • Le pilote de miniport d’affichage doit utiliser le processeur pour écrire le bloc d’image dans la mémoire tampon du frame. Lorsque le système rencontre une erreur d’arrêt, cela peut avoir été dû à un délai d’attente continu de détection et de récupération (TDR) sur l’appareil d’affichage. Dans ce cas, l’unité de traitement graphique (GPU) peut être dans un état inconnu.

    Pour plus d’informations sur TDR, consultez Détection et récupération du délai d’expiration (TDR) .

Utiliser la mémoire non paginée

Les fonctions windows en mode noyau peuvent ne pas être disponibles pendant l’appel de cette fonction.

DxgkDdiSystemDisplayWrite peut être appelé au niveau de n’importe quel IRQL, de sorte qu’il doit être dans la mémoire non modifiable. DxgkDdiSystemDisplayWrite ne doit pas appeler de code dans la mémoire paginable et ne doit pas manipuler les données qui se trouve dans la mémoire paginable.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
Plateforme cible Desktop (Expérience utilisateur)
En-tête dispmprt.h
IRQL N’importe quel niveau (voir la section Remarques)

Voir aussi

DxgkCbAcquirePostDisplayOwnership

DxgkDdiAddDevice

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

DxgkDdiSystemDisplayEnable