DXGKARG_FORMATHISTORYBUFFER structure (d3dkmddi.h)

Contient des informations pour le pilote de miniport d’affichage pour mettre en forme une mémoire tampon d’historique.

Syntaxe

typedef struct _DXGKARG_FORMATHISTORYBUFFER {
  DXGK_HISTORY_BUFFER            *pHistoryBuffer;
  UINT32                         HistoryBufferSize;
  PVOID                          pFormattedBuffer;
  UINT32                         FormattedBufferSize;
  UINT32                         NumTimestamps;
  DXGKARG_HISTORYBUFFERPRECISION Precision;
  UINT32                         Offset;
} DXGKARG_FORMATHISTORYBUFFER;

Membres

pHistoryBuffer

Pointeur vers la mémoire tampon d’historique DXGK_HISTORY_BUFFER non mise en forme qui a été remplie par le GPU.

HistoryBufferSize

Taille, en octets, de la mémoire tampon pointée par pHistoryBuffer.

pFormattedBuffer

Pointeur vers un segment de mémoire système non paginée que le pilote utilise pour stocker les informations d’horodatage qu’il dérive de la mémoire tampon d’historique non mise en forme fournie.

La mémoire tampon pointée par pFormattedBuffer doit être gérée comme un grand tableau d’horodatages de précision spécifié par Precision. La mémoire tampon ne doit pas contenir d’informations d’en-tête qui existent déjà dans la mémoire tampon d’historique d’origine.

FormattedBufferSize

Taille, en octets, de la mémoire tampon pointée par pFormattedBuffer. Le pilote doit s’assurer qu’il n’écrit pas de données au-delà de cette taille de mémoire tampon.

NumTimestamps

Nombre d’horodatages. À la fin d’un appel à la fonction DxgkDdiFormatHistoryBuffer , le pilote doit définir cette valeur sur le nombre d’horodatages écrits dans la mémoire tampon mise en forme pointée par pFormattedBuffer.

Notez que le nombre d’horodatages qui seront dans la mémoire tampon de sortie mise en forme ne sera pas connu tant que le pilote n’aura pas terminé la mémoire tampon mise en forme pointée vers pFormattedBuffer.

Precision

Une DXGKARG_HISTORYBUFFERPRECISION structure que le pilote remplit avec des informations sur la précision des horodatages qui seront consignés dans l’installation de suivi d’événements pour Windows (ETW).

Valeur du DXGKARG_HISTORYBUFFERPRECISION. Le membre PrecisionBits ne peut pas être égal à zéro.

Offset

Lors de l’entrée d’un appel à la fonction DxgkDdiFormatHistoryBuffer , la valeur de ce membre est le décalage vers le premier horodatage auquel la mise en forme doit commencer. Une fois l’appel de fonction terminé, le pilote doit définir la valeur sur zéro s’il a correctement mis en forme tous les horodatages dans la mémoire tampon d’historique.

Si ce n’est pas zéro, le pilote n’a pas pu mettre en forme tous les horodatages dans la mémoire tampon d’historique sans remplir la mémoire tampon mise en forme. Dans ce cas, la valeur représente le décalage à partir duquel doit être poursuivi dans l’appel de fonction suivant.

Remarques

Le pilote doit obtenir les entrées d’horodatage et le nombre d’horodatages utilisables à partir de l’en-tête de la mémoire tampon d’historique fournie. Toutes les données supplémentaires dont le pilote a besoin pour les calculs doivent être stockées dans des données privées.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8.1,WDDM 1.3 et versions ultérieures
Serveur minimal pris en charge Windows Server 2012 R2
En-tête d3dkmddi.h (include D3dkmddi.h)

Voir aussi

DXGKARG_HISTORYBUFFERPRECISION

DXGK_HISTORY_BUFFER

DxgkDdiFormatHistoryBuffer