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