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