Freigeben über


VideoPortInterlockedExchange-Funktion (video.h)

Die VideoPortInterlockedExchange Funktionssperren oder entsperrt einen Speicherblock, indem eine benutzerdefinierte Sperrvariable auf TRUE oder FALSE-festgelegt wird. Sie gibt den zuvor gehaltenen Wert der Sperrvariable 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 Targetgespeichert 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.

Bemerkungen

VideoPortInterlockedExchange- kann verwendet werden, um die DMA-Gemeinsame Pufferverknügung in mehreren Prozessorsystemen zu verhindern.

Wenn der Puffer nicht ausgelesen oder in den geschrieben wird, sollte die Sperrvariable einen Wert von FALSEaufweisen. Ein anschließender Aufruf von VideoPortInterlockedExchange mit dem Target Parameter, der auf TRUE festgelegt ist, setzt die Sperrvariable auf TRUE-zurück, nach der diese Funktion FALSE-zurückgibt. Der Puffer ist jetzt gesperrt und verhindert den Zugriff durch andere Threads. Wenn die aktuellen Vorgänge für den Puffer abgeschlossen sind, entsperren Sie den Puffer mit einem Aufruf von VideoPortInterlockedExchange, wobei der parameter Target auf FALSE-festgelegt ist.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows 2000 und höheren Versionen von Windows-Betriebssystemen.
Zielplattform- Desktop
Header- video.h (video.h einschließen)
Library Videoprt.lib
DLL- Videoprt.sys
IRQL- Beliebige Ebene

Siehe auch

VideoPortGetCommonBuffer

VideoPortInterlockedDecrement-

VideoPortInterlockedIncrement-