Fungsi RxDereference (rxprocs.h)

RxDereference mengurangi anggota NodeReferenceCount dari struktur oleh satu untuk beberapa struktur data terhitung referensi yang digunakan oleh RDBSS.

Sintaks

void RxDereference(
  [in, out] IN OUT PVOID          Instance,
  [in]      IN LOCK_HOLDING_STATE LockHoldingState
);

Parameter

[in, out] Instance

Penunjuk ke struktur data yang dihitung referensi untuk didereferensikan.

[in] LockHoldingState

Mode di mana kunci yang sesuai untuk struktur data ini disimpan. Parameter ini bisa menjadi salah satu nilai berikut untuk enumerasi LOCK_HOLDING_STATE:

LHS_LockNotHeld

Kunci saat ini tidak ditahan.

LHS_SharedLockHeld

Kunci bersama sedang ditahan.

LHS_ExclusiveLockHeld

Kunci eksklusif sedang ditahan.

Nilai kembali

Tidak ada

Keterangan

RxDereference dapat digunakan untuk dereferensi (penurunan satu per satu) anggota NodeReferenceCount pada struktur data berikut yang digunakan oleh RDBSS:

SRV_CALL

NET_ROOT

V_NET_ROOT

SRV_OPEN

FOBX

Jika RxDereference dipanggil dengan jenis struktur data RDBSS lainnya, rutinitas menyebabkan sistem melakukan ASSERT pada build yang diperiksa.

Jika anggota NodeReferenceCount kurang dari 0 setelah diturunkan (diturunkan) oleh RxDereference, RxDereference menyebabkan sistem menegaskan pada build yang diperiksa.

Jika anggota NodeReferenceCount turun ke 1 dan parameter LockHoldingState LHS_ExclusiveLockHeld, instans struktur data dapat segera diselesaikan. Jika tidak, instans struktur data ditandai untuk dipulihkan dan diselesaikan nanti.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header rxprocs.h (sertakan Rxprocs.h)
IRQL <= APC_LEVEL

Lihat juga

RxReference

Struktur FOBX

Struktur NET_ROOT

Struktur SRV_CALL

Struktur SRV_OPEN

Struktur V_NET_ROOT