Функция VideoPortInterlockedExchange (video.h)
Функция VideoPortInterlockedExchange блокирует или разблокирует блок памяти, задав определяемую пользователем переменную блокировки для TRUE или FALSEсоответственно. Он возвращает ранее удерживаемое значение переменной блокировки.
Синтаксис
VIDEOPORT_API LONG VideoPortInterlockedExchange(
[in, out] IN OUT PLONG Target,
[in] IN LONG Value
);
Параметры
[in, out] Target
Указатель на определяемую пользователем переменную блокировки, которая используется для управления доступом к буферу памяти.
[in] Value
Указывает значение, хранящееся в Target, которое указывает, должен ли буфер памяти быть заблокирован или разблокирован. Используйте TRUE для блокировки буфера памяти и FALSE для разблокировки буфера памяти.
Возвращаемое значение
VideoPortInterlockedExchange возвращает значение, которое Target было до вызова функции.
Замечания
VideoPortInterlockedExchange можно использовать для предотвращения ведения общего буфера DMA в системах с несколькими процессорами.
Если буфер не считывается из или не записывается, переменная блокировки должна иметь значение FALSE. Последующий вызов VideoPortInterlockedExchange с параметром target Target значением TRUE сбрасывает переменную блокировки до TRUE, после чего эта функция возвращает FALSE. Буфер теперь заблокирован, предотвращая доступ другими потоками. После завершения текущих операций в буфере разблокируйте буфер с вызовом VideoPortInterlockedExchange с параметром target Target значением FALSE.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows 2000 и более поздних версиях операционных систем Windows. |
целевая платформа | Настольный |
заголовка | video.h (include Video.h) |
библиотеки | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | Любой уровень |