Funzione RxDereference (rxprocs.h)

RxDereferencedecrementa il membro NodeReferenceCount di una struttura per uno per diverse strutture di dati con conteggio dei riferimenti usate da RDBSS.

Sintassi

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

Parametri

[in, out] Instance

Puntatore alla struttura dei dati con conteggio dei riferimenti da dereferenziare.

[in] LockHoldingState

Modalità in cui viene mantenuto il blocco appropriato per questa struttura di dati. Questo parametro può essere uno dei valori seguenti per l'enumerazione LOCK_HOLDING_STATE:

LHS_LockNotHeld

Un blocco non è attualmente mantenuto.

LHS_SharedLockHeld

Viene mantenuto un blocco condiviso.

LHS_ExclusiveLockHeld

Un blocco esclusivo è in corso.

Valore restituito

nessuno

Osservazioni

RxDereference può essere usato per dereferenza (decremento per uno) membro NodeReferenceCount nelle strutture di dati seguenti usate da RDBSS:

SRV_CALL

NET_ROOT

V_NET_ROOT

SRV_OPEN

FOBX

Se RxDereference viene chiamato con qualsiasi altro tipo di struttura dati RDBSS, la routine causa l'asserzione del sistema nelle build controllate.

Se il membro NodeReferenceCount è minore di 0 dopo essere stato derefenced (decremented) da RxDereference, RxDereference causa l'asserzione del sistema nelle build controllate.

Se il membro NodeReferenceCount decrementa su 1 e il parametro LockHoldingState è stato LHS_ExclusiveLockHeld, l'istanza della struttura di dati può essere completata immediatamente. In caso contrario, l'istanza della struttura di dati viene contrassegnata per essere scavengata e finalizzata in un secondo momento.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione rxprocs.h (includere Rxprocs.h)
IRQL <= APC_LEVEL

Vedi anche

RxReference

Struttura FOBX

Struttura NET_ROOT

Struttura SRV_CALL

Struttura SRV_OPEN

Struttura V_NET_ROOT