Partager via


VideoPortInterlockedExchange, fonction (video.h)

La fonction VideoPortInterlockedExchange verrouille ou déverrouille un bloc de mémoire en définissant une variable de verrou définie par l’utilisateur sur TRUE ou FALSE, respectivement. Elle retourne la valeur précédemment détenue de la variable de verrou.

Syntaxe

VIDEOPORT_API LONG VideoPortInterlockedExchange(
  [in, out] IN OUT PLONG Target,
  [in]      IN LONG      Value
);

Paramètres

[in, out] Target

Pointeur vers une variable de verrou définie par l’utilisateur utilisée pour contrôler l’accès à une mémoire tampon.

[in] Value

Spécifie la valeur à stocker dans cible, qui indique si la mémoire tampon doit être verrouillée ou déverrouillée. Utilisez TRUE pour verrouiller la mémoire tampon et FALSE pour déverrouiller la mémoire tampon.

Valeur de retour

VideoPortInterlockedExchange retourne la valeur que ' cible avait avant l’appel de fonction.

Remarques

VideoPortInterlockedExchange peut être utilisé pour empêcher la contention de mémoire tampon commune DMA dans les systèmes à plusieurs processeurs.

Lorsque la mémoire tampon n’est pas lue ou écrite, la variable de verrouillage doit avoir la valeur FALSE. Un appel ultérieur à VideoPortInterlockedExchange avec son paramètre Target défini sur TRUE réinitialise la variable de verrouillage à TRUE, après quoi cette fonction retourne FALSE. La mémoire tampon est maintenant verrouillée, empêchant l’accès par d’autres threads. Lorsque les opérations actuelles sur la mémoire tampon sont terminées, déverrouillez la mémoire tampon avec un appel à VideoPortInterlockedExchange avec son paramètre Target défini sur FALSE.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows.
plateforme cible Bureau
d’en-tête video.h (include Video.h)
bibliothèque Videoprt.lib
DLL Videoprt.sys
IRQL N’importe quel niveau

Voir aussi

VideoPortGetCommonBuffer

VideoPortInterlockedDecrement

VideoPortInterlockedIncrement