Función RxDereference (rxprocs.h)
RxDereference disminuye el miembro NodeReferenceCount de una estructura por una para varias estructuras de datos con recuento de referencias usadas por RDBSS.
Sintaxis
void RxDereference(
[in, out] IN OUT PVOID Instance,
[in] IN LOCK_HOLDING_STATE LockHoldingState
);
Parámetros
[in, out] Instance
Puntero a la estructura de datos con recuento de referencias que se va a desreferenciar.
[in] LockHoldingState
Modo en el que se mantiene el bloqueo adecuado para esta estructura de datos. Este parámetro puede ser uno de los siguientes valores para la enumeración LOCK_HOLDING_STATE:
LHS_LockNotHeld
Actualmente no se mantiene un bloqueo.
LHS_SharedLockHeld
Se mantiene un bloqueo compartido.
LHS_ExclusiveLockHeld
Se mantiene un bloqueo exclusivo.
Valor devuelto
None
Observaciones
RxDereference se puede usar para desreferenciar (decremento por uno) el miembro NodeReferenceCount en las siguientes estructuras de datos usadas por RDBSS:
SRV_CALL
NET_ROOT
V_NET_ROOT
SRV_OPEN
FOBX
Si se llama a RxDereference con cualquier otro tipo de estructura de datos RDBSS, la rutina hace que el sistema aserte en compilaciones comprobadas.
Si el miembro NodeReferenceCount es menor que 0 después de desreferenciar (decrementado) por RxDereference, RxDereference hace que el sistema aserte en compilaciones comprobadas.
Si el miembro NodeReferenceCount disminuye en 1 y se LHS_ExclusiveLockHeld el parámetro LockHoldingState , la instancia de la estructura de datos se puede finalizar inmediatamente. De lo contrario, la instancia de la estructura de datos se etiqueta para que se etiquete y finalice más adelante.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | rxprocs.h (incluya Rxprocs.h) |
IRQL | <= APC_LEVEL |