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) |