ExEnterCriticalRegionAndAcquireResourceExclusive 函数 (wdm.h)
ExEnterCriticalRegionAndAcquireResourceExclusive 例程首先进入关键区域,然后获取对指定资源的独占访问权限。
语法
PVOID ExEnterCriticalRegionAndAcquireResourceExclusive(
PERESOURCE Resource
);
参数
Resource
[in, out]指向要获取的用于独占访问的资源的指针。 此参数指向调用方分配 ERESOURCE 结构。 调用方以前从非分页池分配了此结构,并通过调用 exInitializeResourceLite 或 ExReinitializeResourceLite 例程来初始化该结构。
返回值
指向不透明系统结构的指针。 驱动程序应忽略此返回值。
言论
如果在指定资源不立即可用于独占访问时调用此例程,则在资源可用之前,将阻止调用线程。
在关键区域中运行驱动程序线程时,不会执行驱动程序的用户 APC 和普通内核 APC。 仍在执行特殊内核 APC。 有关这些 APC 类型的详细信息,请参阅 类型 API。
通过暂时禁用正常的内核 APC,ExEnterCriticalRegionAndAcquireResourceExclusive 可防止 APC 占用被动级别的调用线程,而线程持有 APC 可能尝试访问的共享资源。
调用线程应保留在关键区域中,并保留指定的资源,不再需要。 若要释放指定的资源并离开关键区域,请调用 ExReleaseResourceAndLeaveCriticalRegion 例程。
有关使用 ERESOURCE 结构同步对资源的独占访问的详细信息,请参阅 ERESOURCE 例程简介。 有关进入和离开关键区域的详细信息,请参阅 关键区域和受保护的区域。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista |
支持的最低服务器 | Windows Server 2003 SP1 |
标头 | wdm.h |
IRQL | <= APC_LEVEL |
DDI 符合性规则 | CriticalRegions(wdm),HwStorPortProhibitedDDI(storport) |
另请参阅
ExAcquireResourceExclusiveLite