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: