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 chronopliqué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 chronopliqué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 chronolysée.

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

  • [out] Op est un pointeur vers une structure de DXGK_TIMED_OPERATION qui décrit l’opération chrono timed de démarrage ou de redémarrage.

  • [in] Le délai d’expiration est un pointeur vers une valeur de délai d’attente, en unités de 100 nanosecondes, qui spécifie le temps relatif alloué à l’exécution de l’opération chronométrique.

  • [in] OsHandled est une valeur booléenne qui spécifie si le système d’exploitation gère la condition de délai d’expiration. La valeur TRUE indique que le pilote ne dispose d’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 en cours 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 temporisation donné. Les descriptions des paramètres pour TimedOperationDelay suivent.

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

  • [in] WaitMode est une valeur de type KPROCESSOR_MODE 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 peut faire l’objet d’une alerte ; FALSE indique que l’attente n’est pas modifiable. Les pilotes de niveau inférieur d’une pile doivent spécifier FALSE.

  • [in] Interval est un pointeur vers la 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 de répartiteur donné soit défini sur un état signalé ou éventuellement jusqu’à ce que le délai d’attente expire ou jusqu’à l’expiration du délai d’expiration de l’opération chronoodatée donnée. Les descriptions des paramètres pour TimedOperationWaitForSingleObject suivent.

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

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

  • WaitReason est une valeur de type KWAIT_REASON qui spécifie la raison de l’attente. Un pilote doit définir cette valeur sur Executive ou, si le pilote travaille pour le compte d’un utilisateur et s’exécute dans le contexte d’un thread utilisateur, sur UserRequest.

  • WaitMode est une valeur de type KPROCESSOR_MODE 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 vers lequel pointe 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 peut faire l’objet d’une alerte ; FALSE indique que l’attente n’est pas modifiable.

  • Le délai d’attente est un pointeur vers la 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 membres Size et Version de cette structure, puis appelle DxgkCbQueryServices, qui remplit les membres restants de cette structure.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
En-tête dispmprt.h (inclure Dispmprt.h)

Voir aussi

DXGK_TIMED_OPERATION

DxgkCbQueryServices