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

另请参阅

RxReference

FOBX 结构

NET_ROOT结构

SRV_CALL结构

SRV_OPEN结构

V_NET_ROOT结构