Avviso C28107

La risorsa deve essere mantenuta quando si chiama la funzione

Risorsa che il programma deve acquisire prima di chiamare la funzione non è stata acquisita quando è stata chiamata la funzione. Di conseguenza, la chiamata di funzione avrà esito negativo. Questo avviso viene segnalato solo quando le risorse vengono acquisite e rilasciate nella stessa funzione.

Esempio

Nell'esempio riportato di seguito il codice genera questo avviso:

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

Nell'esempio riportato di seguito il codice evita questo avviso:

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