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 |