We recommend using Visual Studio 2017

C28107

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at C28107.

warning C28107: Resource must be held when calling function

A resource that the program must acquire before calling the function was not acquired when the function was called. As a result, the function call will fail. This warning is reported only when resources are acquired and released in the same function.

The following code example generates this warning:

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

The following code example avoids this warning:

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

Show: