关于windows内核下的读写锁

来源:互联网 发布:js与jsp交互 编辑:程序博客网 时间:2024/05/15 00:29

ERESOURCE对象-》》相当于读写锁,即用于同时只能有一个WRITER写入,多个READER读的情况:

ExInitializeResourceLite 初始化一个ERESOURCE对象;

ExAcquireResourceExclusiveLite 用于获取ERESOURCE(写访问);

ExAcquireResourceSharedLite 用于获取ERESOURCE(读访问);

ExReleaseResourceLite用于释放ERESOURCE;


ERESOURCEHashResource = {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

Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)

Library

Contained in Ntoskrnl.lib.

IRQL

<= DISPATCH_LEVEL
原创粉丝点击