Compartir a través de


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.

Observaciones

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

Cuando el búfer no se lee o se escribe en , la variable de bloqueo debe tener un valor de FALSE. Una llamada posterior a VideoPortInterlockedExchange con su parámetro target establecido en TRUE restablece la variable de bloqueo a TRUE, después de lo cual esta función devuelve FALSE. El búfer ahora está bloqueado, lo que impide el acceso por 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 Valor
cliente mínimo admitido Disponible en Windows 2000 y versiones posteriores de los sistemas operativos Windows.
de la plataforma de destino de Escritorio
encabezado de video.h (incluya Video.h)
biblioteca de Videoprt.lib
DLL de Videoprt.sys
irQL Cualquier nivel

Consulte también

VideoPortGetCommonBuffer

VideoPortInterlockedDecrement

VideoPortInterlockedIncrement