Función VideoPortInterlockedExchange (video.h)

La función VideoPortInterlockedExchange bloquea o desbloquea un bloque de memoria estableciendo una variable de bloqueo definida por el usuario en TRUE o FALSE, respectivamente. Devuelve el valor mantenido previamente de la variable de bloqueo.

Sintaxis

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

Parámetros

[in, out] Target

Puntero a una variable de bloqueo definida por el usuario que se usa para controlar el acceso a un búfer de memoria.

[in] Value

Especifica el valor que se va a almacenar en Destino, que indica si el búfer de memoria se va a bloquear o desbloquear. Use TRUE para bloquear el búfer de memoria y FALSE para desbloquear el búfer de memoria.

Valor devuelto

VideoPortInterlockedExchange devuelve el valor que Target tenía antes de la llamada de función.

Comentarios

VideoPortInterlockedExchange se puede usar para evitar la contención de búferes comunes de DMA en sistemas de varios procesadores.

Cuando el búfer no se lee o se escribe en , la variable de bloqueo debe tener un valor false. Una llamada posterior a VideoPortInterlockedExchange con su parámetro Target establecido en TRUE restablece la variable de bloqueo en TRUE, después de lo cual esta función devuelve FALSE. El búfer ahora está bloqueado, lo que impide el acceso de otros subprocesos. Cuando se completen las operaciones actuales en el búfer, desbloquee el búfer con una llamada a VideoPortInterlockedExchange con su parámetro Target establecido en FALSE.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows 2000 y versiones posteriores de los sistemas operativos Windows.
Plataforma de destino Escritorio
Encabezado video.h (incluya Video.h)
Library Videoprt.lib
Archivo DLL Videoprt.sys
IRQL Cualquier nivel

Consulte también

VideoPortGetCommonBuffer

VideoPortInterlockedDecrement

VideoPortInterlockedIncrement