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.
Syntaxe
void RxDereference(
[in, out] IN OUT PVOID Instance,
[in] IN LOCK_HOLDING_STATE LockHoldingState
);
Paramètres
[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 :
LHS_LockNotHeld
Un verrou n’est pas conservé actuellement.
LHS_SharedLockHeld
Un verrou partagé est conservé.
LHS_ExclusiveLockHeld
Un verrou exclusif est détenu.
Valeur de retour
Aucun
Remarques
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.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | rxprocs.h (include Rxprocs.h) |
IRQL | <= APC_LEVEL |