C28107

 

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

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: