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 參數設為 TRUE 會將鎖定變數重設為 TRUE,之後此函式會傳回 FALSE。 緩衝區現在已鎖定,防止其他線程存取。 當緩衝區上的目前作業完成時,使用對 VideoPortInterlockedExchange 的呼叫解除鎖定緩衝區,並將其 Target 參數設定為 FALSE。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows 2000 和更新版本的 Windows 作業系統中使用。 |
目標平台 | 桌面 |
標頭 | video.h (包含 Video.h) |
程式庫 | Videoprt.lib |
Dll | Videoprt.sys |
IRQL | 任何層級 |