Condividi tramite


Funzione RxDereference (rxprocs.h)

RxDereference decrementa il membro NodeReferenceCount di una struttura 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 di 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

Viene mantenuto un blocco esclusivo.

Valore restituito

Nessuno

Osservazioni

RxDereference può essere usato per dereferenziare (decrementare di uno) il 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 di dati RDBSS, la routine fa sì che il sistema eseduca le build controllate.

Se il membro NodeReferenceCount è minore di 0 dopo essere stato dereferenziato (decrementato) da RxDereference, RxDereference fa sì che il sistema asserisce nelle build controllate.

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

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione rxprocs.h (include Rxprocs.h)
IRQL <= APC_LEVEL

Vedere anche

RxReference

struttura FOBX

Struttura NET_ROOT

Struttura SRV_CALL

Struttura SRV_OPEN

Struttura V_NET_ROOT