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 |