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

Consulte también

RxReference

Estructura FOBX

Estructura de NET_ROOT

Estructura de SRV_CALL

Estructura de SRV_OPEN

Estructura de V_NET_ROOT