Condividi tramite


C28107

avviso C28107: Le risorse devono essere detenute quando viene chiamata la funzione

Una risorsa che il programma deve acquisire prima di chiamare la funzione non è stata acquisita quando la funzione è stata chiamata.Pertanto, la chiamata di funzione non riuscirà.L'avviso viene visualizzato solo quando le risorse sono acquisite e rilasciate nella stessa funzione.

Esempio

Il seguente codice di esempio genera questo warning:

ExAcquireResourceLite(resource, true);
ExReleaseResourceLite(resource);

L'esempio di codice seguente evita questo avviso:

KeEnterCriticalRegion();
ExAcquireResourceLite(resource, true);
ExReleaseResourceLite(resource);
KeLeaveCriticalRegion();
KeEnterCriticalRegion();
ExAcquireResourceLite(resource, true);
ExReleaseResourceLite(resource);
KeLeaveCriticalRegion();