ERESOURCE对象-》》相当于读写锁,即用于同时只能有一个WRITER写入,多个READER读的情况:
ExInitializeResourceLite 初始化一个ERESOURCE对象;
ExAcquireResourceExclusiveLite 用于获取ERESOURCE(写访问);
ExAcquireResourceSharedLite 用于获取ERESOURCE(读访问);
ExReleaseResourceLite用于释放ERESOURCE;
ERESOURCE HashResource = {0};
ExInitializeResourceLite( &HashResource );
ExAcquireResourceExclusiveLite( &HashResource, TRUE );
//写访问
ExReleaseResourceLite( &HashResource );
ExAcquireResourceSharedLite( &HashResource, TRUE );
//读访问
ExReleaseResourceLite( &HashResource );
NTSTATUS ExReinitializeResourceLite( _Inout_ PERESOURCE Resource );
Parameters
-
Resource [in, out]
-
A pointer to the caller-supplied resource variable to be reinitialized.
Return value
ExReinitializeResourceLite returns STATUS_SUCCESS.
Version | Available in Windows 2000 and later versions of Windows. |
---|---|
Header |
|
Library |
|
IRQL | <= DISPATCH_LEVEL |