The ExReleaseResourceForThreadLite routine releases the input resource of the indicated thread.
VOID ExReleaseResourceForThreadLite( _Inout_ PERESOURCE Resource, _In_ ERESOURCE_THREAD ResourceThreadId );
- Resource [in, out]
A pointer to the resource to release.
- ResourceThreadId [in]
Identifies the thread that originally acquired the resource.
Unless the caller is running in a system thread, the caller must explicitly disable the delivery of normal kernel APCs before calling this routine. This requirement prevents threads from being suspended while they manipulate or hold a resource. The caller can disable normal kernel APC delivery by calling the KeEnterCriticalRegion routine. Delivery must remain disabled until the resource is released, at which point it can be reenabled by calling the KeLeaveCriticalRegion routine. For more information, see Disabling APCs.
This requirement does not apply to calls made to ExReleaseResourceForThreadLite from a system thread. A caller running in a system thread does not need to explicitly disable APCs before calling this routine.
|Available starting with Windows 2000.|
DDI compliance rules
|ExclusiveResourceAccess, WithinCriticalRegion, HwStorPortProhibitedDDIs, WithinCriticalRegion(storport)|
Build date: 11/16/2013