Fonction VideoPortSynchronizeExecution (video.h)

La fonction VideoPortSynchronizeExecution synchronise l’exécution d’une fonction HwVidSynchronizeCallback fournie par un pilote miniport avec la fonction HwVidInterrupt du pilote miniport, le cas échéant. Sinon, il exécute HwVidSynchronizeExecutionCallback à une priorité élevée.

Syntaxe

VIDEOPORT_DEPRECATED BOOLEAN VIDEOPORT_API VideoPortSynchronizeExecution(
  PVOID                         HwDeviceExtension,
  VIDEO_SYNCHRONIZE_PRIORITY    Priority,
  PMINIPORT_SYNCHRONIZE_ROUTINE SynchronizeRoutine,
  PVOID                         Context
);

Paramètres

HwDeviceExtension

Pointeur vers l’extension de périphérique du pilote miniport.

Priority

Spécifie le type de priorité auquel l’objet SynchronizeRoutine donné doit être exécuté, comme suit :

  • Si La priorité est définie sur VpLowPriority, le thread actuel est élevé à la priorité de masquage sans interruption la plus élevée. Par conséquent, le thread actuel peut être préempté uniquement par un ISR si un appareil s’interrompt.
  • Si Priority est défini sur VpMediumPriority et que le pilote miniport a un ISR associé à sa carte vidéo, l’appel à l’objet SynchronizeRoutine donné est synchronisé avec la fonction HwVidInterrupt du pilote miniport. Sinon, la synchronisation est effectuée au niveau VpLowPriority .
  • VpHighPriority a le même effet que VpMediumPriority.

SynchronizeRoutine

Pointeur vers la fonction HwVidSynchronizeExecutionCallback du pilote miniport.

Context

Pointeur vers un contexte fourni par l’appelant à passer à la fonction HwVidSynchronizeExecutionCallback du pilote miniport. Ce pointeur peut avoir la valeur NULL.

Valeur retournée

Si l’opération réussit, VideoPortSynchronizeExecution retourne TRUE.

Remarques

Les pilotes miniports appellent rarement cette routine, sauf si l’une des conditions suivantes est remplie :

  • La fonction HwVidInterrupt du pilote miniport partage la mémoire avec d’autres fonctions du pilote miniport. Pour accéder à la mémoire partagée de manière sécurisée pour plusieurs processeurs, ces fonctions de pilote miniport doivent appeler VideoPortSynchronizeExecution avec HwVidSynchronizeExecutionCallback. Cette fonction de pilote miniport peut accéder en toute sécurité à la mémoire partagée, car le pilote de port vidéo empêche la fonction HwVidInterrupt d’accéder simultanément à la même mémoire.
  • L’adaptateur doit être programmé avec une séquence de commandes sans être soumis à un commutateur de contexte. Par exemple, la fonction SvgaHwIoPortXxx d’un pilote miniport qui a mis en mémoire tampon une séquence d’instructions d’E/S et validé la séquence peut appeler VideoPortSynchronizeExecution avec HwVidSynchronizeExecutionCallback. Cette fonction de pilote miniport peut transférer très rapidement le flux d’E/S mis en mémoire tampon et validé vers l’adaptateur.
Un appelant doit spécifier la valeur de priorité pratique la plus faible pour le travail que HwVidSynchronizeExecutionCallback doit effectuer. Tout CallbackRoutine exécuté à une priorité matérielle élevée (VpMediumPriority ou VpHighPriority) doit retourner le contrôle aussi rapidement que possible. Un pilote avec une telle fonction HwVidSynchronizeExecutionCallback à haute priorité doit être conçu pour effectuer autant de travail que possible dans toutes les autres fonctions de pilote, à l’exception de l’une de ses deux fonctions HwVidSynchronizeExecutionCallback et HwVidInterrupt .

Les appelants de VideoPortSynchronizeExecution doivent être en cours d’exécution à l’IRQL

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Desktop (Expérience utilisateur)
En-tête video.h (inclure Video.h)
Bibliothèque Videoprt.lib
DLL Videoprt.sys
IRQL <= DIRQL

Voir aussi

HwVidInterrupt

HwVidSynchronizeExecutionCallback