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
el estructura de SRV_OPEN