Fonction RxDereference (rxprocs.h)
RxDereference décrémente le membre NodeReferenceCount d’une structure par un pour plusieurs structures de données comptées de référence utilisées par RDBSS.
void RxDereference(
[in, out] IN OUT PVOID Instance,
[in] IN LOCK_HOLDING_STATE LockHoldingState
);
[in, out] Instance
Pointeur vers la structure de données comptée par référence à déréférer.
[in] LockHoldingState
Mode dans lequel le verrou approprié pour cette structure de données est conservé. Ce paramètre peut être l’une des valeurs suivantes pour l’énumération LOCK_HOLDING_STATE :
Un verrou n’est pas conservé actuellement.
Un verrou partagé est conservé.
Un verrou exclusif est détenu.
Aucun
RxDereference pouvez être utilisé pour déréférencer (décrémenter par un) le membre NodeReferenceCount sur les structures de données suivantes utilisées par RDBSS :
SRV_CALL
NET_ROOT
V_NET_ROOT
SRV_OPEN
FOBX
Si RxDereference est appelée avec n’importe quel autre type de structure de données RDBSS, la routine entraîne l’assertion du système sur les builds vérifiées.
Si le membre NodeReferenceCount est inférieur à 0 après avoir été déréféré (décrémenté) par RxDereference, RxDereference provoque l’assertion du système sur les builds vérifiées.
Si le NodeReferenceCount les décréments de membre sur 1 et que le paramètre LockHoldingState a été LHS_ExclusiveLockHeld, l’instance de la structure de données peut être finalisée immédiatement. Sinon, l’instance de la structure de données est marquée pour être délimitée et finalisée ultérieurement.
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | rxprocs.h (include Rxprocs.h) |
IRQL | <= APC_LEVEL |