Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция 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 | Любой уровень |