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 參數設定為 TRUE 會將鎖定變數重設為 true ,之後此函式會傳回 false 。 緩衝區現在已鎖定,防止其他線程存取。 當緩衝區的目前作業完成時,請解除鎖定緩衝區,並呼叫 videoPortInterlockedExchange,並將其 Target 參數設定為 FALSE。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Windows 2000 和更新版本的 Windows作系統。 |
目標平臺 | 桌面 |
標頭 | video.h (include Video.h) |
連結庫 | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | 任何層級 |