VideoPortAcquireSpinLock 函式 (video.h)
VideoPortAcquireSpinLock 函式會取得指定的微調鎖定。
語法
VIDEOPORT_API VOID VideoPortAcquireSpinLock(
[in, out] PVOID HwDeviceExtension,
[in] PSPIN_LOCK SpinLock,
[out] PUCHAR OldIrql
);
參數
[in, out] HwDeviceExtension
迷你埠驅動程式裝置延伸模組的指標。
[in] SpinLock
包含微調鎖定的記憶體位置指標。
[out] OldIrql
將接收目前 IRQL 之內存位置的指標。
傳回值
沒有
言論
目前的 IRQL 會儲存在 OldIrql 中。 然後,目前的 IRQL 會重設為DISPATCH_LEVEL,並取得指定的微調鎖定。
VideoPortReleaseSpinLock發行微調鎖定時,必須指定 oldIrql 值。
如果不是明智地使用,微調鎖定可能會造成嚴重的問題。 特別是,在保留微調鎖定時,不會執行任何死結保護並停用分派。 因此:
- 微調鎖定所防護之重要區域內的程式碼既不能可分頁,也不能對可分頁數據進行任何參考。
- 微調鎖定所防護之重要區域內的程式碼既無法呼叫任何外部函式,也可以存取可分頁數據或引發例外狀況,也無法產生任何例外狀況。
- 呼叫端應儘快釋放具有 VideoPortReleaseSpinLock 的微調鎖定。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Windows XP 和更新版本的 Windows作系統。 |
目標平臺 | 桌面 |
標頭 | video.h (include Video.h) |
連結庫 | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | <=DISPATCH_LEVEL |