分享

关于windows内核下的读写锁

 quasiceo 2013-12-18
2013-01-30 21:37 67人阅读 评论(0) 收藏 举报

目录(?)[+]

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

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

Library

Contained in Ntoskrnl.lib.

IRQL

<= DISPATCH_LEVEL

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约