次の方法で共有


RxDereference 関数 (rxprocs.h)

RxDereference は、RDBSS で使用される複数の参照カウント データ構造について、構造体の NodeReferenceCount メンバーを 1 つずつデクリメントします。

構文

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 メンバーを逆参照 (1 ずつデクリメント) できます。

SRV_CALL

NET_ROOT

V_NET_ROOT

SRV_OPEN

FOBX

RxDereference が他の種類の RDBSS データ構造と共に呼び出された場合、ルーチンはチェックされたビルドでシステムを ASSERT します。

NodeReferenceCount メンバーが RxDereference によって逆参照 (デクリメント) された後に 0 未満の場合、RxDereference はチェックされたビルドでシステムを ASSERT します。

NodeReferenceCount メンバーが 1 にデクリメントされ、LockHoldingState パラメーターがLHS_ExclusiveLockHeldされた場合は、データ構造のインスタンスをすぐに終了できます。 それ以外の場合、データ構造のインスタンスは、後で清掃および最終処理されるようにタグ付けされます。

要件

要件
対象プラットフォーム デスクトップ
Header rxprocs.h (Rxprocs.h を含む)
IRQL <= APC_LEVEL

こちらもご覧ください

RxReference

FOBX 構造体

NET_ROOT構造体

SRV_CALL構造体

SRV_OPEN構造体

V_NET_ROOT構造体