Partager via


DXGKDDI_SYSTEM_DISPLAY_WRITE fonction de rappel (dispmprt.h)

Appelé par le système d’exploitation pour demander au pilote miniport d’affichage d’écrire un bloc d’image sur l’appareil d’affichage.

À compter de Windows 8, le système d’exploitation appelle cette fonction pendant une opération de vérification des bogues après une erreur d’arrêt du système. Le système d’exploitation appelle cette fonction uniquement si l’appareil d’affichage a été réinitialisé par le biais d’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 d’affichage du pilote miniport DxgkDdiAddDevice 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 de bogue qui affiche des informations sur l’erreur d’arrêt du système.

[in] SourceWidth

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

[in] SourceHeight

Valeur UINT qui spécifie la hauteur, exprimée 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

Aucun

Remarques

restrictions d’image source

Le pilote 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 display miniport avait précédemment défini le mode d’affichage pour activer les opérations d’écriture dans ce format lorsque son DxgkDdiSystemDisplayEnable a été appelé.
  • 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 d’images actuelle en commençant aux positions spécifiées par les paramètres PostionX et PositionY.
  • Le pilote miniport d’affichage doit utiliser l’UC pour écrire le bloc d’image dans la mémoire tampon d’images. Lorsque le système rencontre une erreur d’arrêt, il peut avoir été provoqué par une détection et une récupération continues du délai d’expiration (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’attente (TDR).

Utiliser la mémoire non paginée

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

DxgkDdiSystemDisplayWrite peut être appelée à n’importe quel runtime d’intégration. Il doit donc être en mémoire non modifiable. DxgkDdiSystemDisplayWrite ne doit pas appeler de code qui est en mémoire paginable et ne doit pas manipuler les données qui sont en mémoire paginable.

Exigences

Exigence Valeur
client minimum pris en charge Windows 8
serveur minimum pris en charge Windows Server 2012
plateforme cible Bureau
d’en-tête dispmprt.h
IRQL N’importe quel niveau (voir section Remarques)

Voir aussi

DxgkCbAcquirePostDisplayOwnership

DxgkDdiAddDevice

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

DxgkDdiSystemDisplayEnable