共用方式為


C28104

警告 C28104: 在函式結束前應取得的資源尚未取得。

在結束之前關閉的要取得資源的函式,則不用取得資源。這則警告表示函式加註了 __drv_acquiresResource ,但不會傳回實際取得資源。如果此函式為包裝函式,則其路徑會通過函式未達的包裝函式。如果是因為函式傳回錯誤且不會實際取得資源而造成無法到達包裝函式的錯誤,則可能需要使用條件附註 (__drv_when)。

如果這個函式實際實作資源擷取,則不可能會發生 PFD 偵測到資源的取得。在這種情況下,請使用警告的 #pragma 隱藏錯誤。您可以在啟動函式主體中 之前的行放置 #pragma{。呼叫函式仍必須標記,不過程式碼分析工具無法察覺到被取得鎖定的資源。

範例

__drv_acquireResourceGlobal(HWLock, lockid)
void GetHardwareLock(lockid)
#pragma warning (suppress: 28104)
{
   // code to implement a hardware lock (which the Code Analysis tool can't recognize)
}