VideoPortInterlockedExchange-Funktion (video.h)
Die VideoPortInterlockedExchange-Funktion sperrt oder entsperrt einen Speicherblock, indem eine benutzerdefinierte Sperrvariable auf TRUE bzw . FALSE festgelegt wird. Es gibt den zuvor gehaltenen Wert der Sperrvariablen zurück.
Syntax
VIDEOPORT_API LONG VideoPortInterlockedExchange(
[in, out] IN OUT PLONG Target,
[in] IN LONG Value
);
Parameter
[in, out] Target
Zeiger auf eine benutzerdefinierte Sperrvariable, die zum Steuern des Zugriffs auf einen Speicherpuffer verwendet wird.
[in] Value
Gibt den Wert an, der in Target gespeichert werden soll, was angibt, ob der Speicherpuffer gesperrt oder entsperrt werden soll. Verwenden Sie TRUE , um den Speicherpuffer zu sperren, und FALSE , um den Speicherpuffer zu entsperren.
Rückgabewert
VideoPortInterlockedExchange gibt den Wert zurück, den Target vor dem Funktionsaufruf hatte.
Hinweise
VideoPortInterlockedExchange kann verwendet werden, um DMA-Common-Buffer-Konflikte in Systemen mit mehreren Prozessoren zu verhindern.
Wenn der Puffer nicht aus gelesen oder in geschrieben wird, sollte die Sperrvariable den Wert FALSE aufweisen. Ein nachfolgender Aufruf von VideoPortInterlockedExchange mit dem Target-Parameter , der auf TRUE festgelegt ist, setzt die Sperrvariable auf TRUE zurück, woraufhin diese Funktion FALSE zurückgibt. Der Puffer ist jetzt gesperrt, wodurch der Zugriff durch andere Threads verhindert wird. Wenn die aktuellen Vorgänge für den Puffer abgeschlossen sind, entsperren Sie den Puffer mit einem Aufruf von VideoPortInterlockedExchange , wobei der Target-Parameter auf FALSE festgelegt ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows 2000 und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform | Desktop |
Kopfzeile | video.h (einschließen von Video.h) |
Bibliothek | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | Beliebige Ebene |