Compartir a través de


Función RxDereference (rxprocs.h)

RxDereference disminuye el NodeReferenceCount miembro 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

Ninguno

Observaciones

rxDereference se puede usar para desreferenciar (decrementar 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) RxDereference, RxDereference hace que el sistema se desreferencia en las compilaciones comprobadas.

Si el NodeReferenceCount disminuye en 1 y el parámetro LockHoldingState se LHS_ExclusiveLockHeld, 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 aplique y finalice más adelante.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de rxprocs.h (incluya Rxprocs.h)
irQL <= APC_LEVEL

Consulte también

rxReference

la estructura FOBX

la estructura de NET_ROOT

la estructura de SRV_CALL

el estructura de SRV_OPEN

la estructura de V_NET_ROOT