VideoPortInterlockedExchange, fonction (video.h)
La fonction VideoPortInterlockedExchange verrouille ou déverrouille un bloc de mémoire en définissant une variable de verrouillage définie par l’utilisateur sur TRUE ou FALSE, respectivement. Elle retourne la valeur précédemment détenue de la variable de verrouillage.
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 verrouillage 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 Target, 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 retournée
VideoPortInterlockedExchange retourne la valeur que Target 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 en cours de lecture ou d’écriture, la variable de verrouillage doit avoir la valeur FALSE. Un appel suivant à VideoPortInterlockedExchange avec son paramètre Target défini sur TRUE réinitialise la variable de verrouillage sur TRUE, après quoi cette fonction retourne FALSE. La mémoire tampon est maintenant verrouillée, ce qui empêche l’accès par d’autres threads. Une fois les opérations en cours sur la mémoire tampon terminées, déverrouillez la mémoire tampon avec un appel à VideoPortInterlockedExchange avec son paramètre Target défini sur FALSE.
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 (incluez Video.h) |
Bibliothèque | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | N’importe quel niveau |