Partager via


structure DXGK_TIMED_OPERATION_INTERFACE (dispmprt.h)

La structure DXGK_TIMED_OPERATION_INTERFACE contient des pointeurs vers des fonctions dans l’interface d’opération chronométrée, qui est implémentée par le pilote de port d’affichage.

Syntaxe

typedef struct _DXGK_TIMED_OPERATION_INTERFACE {
  USHORT                 Size;
  USHORT                 Version;
  PVOID                  Context;
  PINTERFACE_REFERENCE   InterfaceReference;
  PINTERFACE_DEREFERENCE InterfaceDereference;
  NTSTATUS((DXGK_TIMED_OPERATION *Op, const LARGE_INTEGER *Timeout,BOOLEAN OsHandled)              * )TimedOperationStart;
  NTSTATUS((DXGK_TIMED_OPERATION *Op,KPROCESSOR_MODE WaitMode,BOOLEAN Alertable, const LARGE_INTEGER *Interval)              * )TimedOperationDelay;
  NTSTATUS((DXGK_TIMED_OPERATION *Op,PVOID Object,KWAIT_REASON WaitReason,KPROCESSOR_MODE WaitMode,BOOLEAN Alertable, const LARGE_INTEGER *Timeout)              * )TimedOperationWaitForSingleObject;
} DXGK_TIMED_OPERATION_INTERFACE, *PDXGK_TIMED_OPERATION_INTERFACE;

Membres

Size

Taille, en octets, de cette structure.

Version

Numéro de version de l’interface d’opération chronométrée. Les constantes de numéro de version sont définies dans Dispmprt.h (par exemple, DXGK_TIMED_OPERATION_INTERFACE_VERSION_1).

Context

Pointeur vers un contexte fourni par le pilote de port d’affichage.

InterfaceReference

Pointeur vers une fonction de référence d’interface implémentée par le pilote de port d’affichage.

InterfaceDereference

Pointeur vers une fonction de déréférencement d’interface implémentée par le pilote de port d’affichage.

TimedOperationStart

La fonction TimedOperationStart démarre ou redémarre une opération chronométrée.

Le pilote doit prédéfinir le membre Size de la structure DXGK_TIMED_OPERATION pointée par le paramètre Op pour taille de(DXGK_TIMED_OPERATION). Les descriptions des paramètres pour TimedOperationStart suivez.

  • [out] Op est un pointeur vers une structure DXGK_TIMED_OPERATION qui décrit l’opération chronométrée pour démarrer ou redémarrer.

  • [in] Délai d’expiration est un pointeur vers une valeur de délai d’attente, en unités de 100 nanosecondes, qui spécifie l’heure relative allouée pour que l’opération chronométrée se termine.

  • [in] OsHandled est une valeur booléenne qui spécifie si le système d’exploitation gère la condition de délai d’attente. La valeur TRUE indique que le pilote n’a aucun moyen raisonnable de gérer la condition de délai d’attente et permet au système d’exploitation de gérer la condition de délai d’attente ; FALSE indique que le pilote gère la condition de délai d’attente.

TimedOperationDelay

La fonction TimedOperationDelay place le thread actuel dans un état d’attente alertable ou non modifiable pour un intervalle donné en ce qui concerne le délai d’expiration de l’opération chronologique donné. Les descriptions des paramètres pour TimedOperationDelay suivez.

  • [in/out] Op est un pointeur vers une structure DXGK_TIMED_OPERATION qui décrit l’opération chronométrée à retarder. Cette opération chronométrée a été démarrée par un appel à la fonction TimedOperationStart.

  • [in] WaitMode est une valeur KPROCESSOR_MODE typée qui spécifie le mode processeur dans lequel le pilote attend. La valeur peut être KernelMode ou UserMode. Les pilotes de niveau inférieur dans une pile doivent spécifier kernelMode.

  • [in] alertable est une valeur booléenne qui spécifie si l’attente est alertable. La valeur TRUE indique que l’attente est alertable ; FALSE indique que l’attente n’est pas modifiable. Les pilotes de niveau inférieur dans une pile doivent spécifier FALSE.

  • [in] Interval est un pointeur vers une variable qui contient le temps relatif, en unités de 100 nanosecondes, pour le délai. Le signe de la valeur est ignoré.

TimedOperationWaitForSingleObject

La fonction TimedOperationWaitForSingleObject place le thread actuel dans un état d’attente jusqu’à ce que l’objet répartiteur donné soit défini sur un état signalé ou éventuellement jusqu’à ce que le délai d’attente de l’opération chronologique donnée expire. Les descriptions des paramètres pour TimedOperationWaitForSingleObject suivez.

  • [in] Op est un pointeur vers une structure DXGK_TIMED_OPERATION qui décrit l’opération chronométrée à mettre dans un état d’attente. Cette opération chronométrée a été démarrée par un appel à la fonction TimedOperationStart.

  • Object est un pointeur vers un objet de répartiteur initialisé pour lequel l’appelant fournit le stockage. L’objet répartiteur peut être un événement, un mutex, un sémaphore, un thread ou un minuteur.

  • WaitReason est une valeur KWAIT_REASON typée qui spécifie la raison de l’attente. Un pilote doit définir cette valeur sur Exécutif ou, si le pilote effectue un travail au nom d’un utilisateur et s’exécute dans le contexte d’un thread d’utilisateur, pour UserRequest.

  • WaitMode est une valeur KPROCESSOR_MODE typée qui spécifie le mode processeur dans lequel le pilote attend. La valeur peut être KernelMode ou UserMode. Les pilotes de niveau le plus bas et intermédiaire doivent spécifier KernelMode. Si l’objet pointé par le paramètre Object est un mutex, l’appelant doit spécifier KernelMode.

  • alertable est une valeur booléenne qui spécifie si l’attente est alertable. La valeur TRUE indique que l’attente est alertable ; FALSE indique que l’attente n’est pas modifiable.

  • délai d’expiration est un pointeur vers une variable qui contient le temps relatif, en unités de 100 nanosecondes, pour que l’attente soit terminée. Le signe de la valeur est ignoré.

Remarques

Le pilote miniport d’affichage fournit les Size et Version membres de cette structure, puis appelle DxgkCbQueryServices, qui remplit les membres restants de cette structure.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
d’en-tête dispmprt.h (include Dispmprt.h)

Voir aussi

DXGK_TIMED_OPERATION

DxgkCbQueryServices