共用方式為


C28113

警告 C28113:透過 Interlocked 函式存取區域變數

驅動程式使用 Interlocked 管理支援常式 (例如 InterlockedDecrement) 存取區域變數。

雖然允許驅動程式將區域變數的位址傳遞至另一個函數,然後使用連鎖的函式對該變數進行作業,請務必確認堆疊將不會意外地切換到磁碟,而且變數具有可能會使用它的所有執行緒的正確存留期。

範例

通常,連鎖主管支援常式的傳回值是用於後續的計算,而不是輸入引數。此外,連鎖常式只能保護第一個 (最左邊的) 引數。以下列方式使用連鎖常式不會保護全域值,並且通常無意義。

InterlockedExchange(&local, global)

下列形式在資料和安全存取全域變數方面具有相同效果。

local = InterllockedExchange(&global, global)