RxDereference 函数 (rxprocs.h)
RxDereference 递减 NodeReferenceCount 成员,一个成员用于 RDBSS 使用的多个引用计数数据结构。
语法
void RxDereference(
[in, out] IN OUT PVOID Instance,
[in] IN LOCK_HOLDING_STATE LockHoldingState
);
参数
[in, out] Instance
指向要取消引用的引用数据结构的指针。
[in] LockHoldingState
保存此数据结构的相应锁的模式。 此参数可以是LOCK_HOLDING_STATE枚举的以下值之一:
LHS_LockNotHeld
当前未保留锁。
LHS_SharedLockHeld
正在保留共享锁。
LHS_ExclusiveLockHeld
正在保留排他锁。
返回值
没有
言论
RxDereference 可用于对 RDBSS 使用的以下数据结构 NodeReferenceCount 成员取消引用(递减一个):
SRV_CALL
NET_ROOT
V_NET_ROOT
SRV_OPEN
FOBX
如果使用任何其他类型的 RDBSS 数据结构调用 RxDereference,则例程会导致系统在已检查的生成时断言。
如果 NodeReferenceCount 成员在 RxDereference取消引用(递减)后小于 0,则 RxDereference 会导致系统在已检查的生成时断言。
如果 NodeReferenceCount 成员递减到 1,并且 LockHoldingState 参数已LHS_ExclusiveLockHeld,则可以立即完成数据结构的实例。 否则,数据结构的实例将被标记为清理和最终完成。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | rxprocs.h (包括 Rxprocs.h) |
IRQL | <= APC_LEVEL |