Função RxDereference (rxprocs.h)
RxDereference decrementa o membro NodeReferenceCount de uma estrutura por um para várias estruturas de dados contadas de referência usadas pelo RDBSS.
Sintaxe
void RxDereference(
[in, out] IN OUT PVOID Instance,
[in] IN LOCK_HOLDING_STATE LockHoldingState
);
Parâmetros
[in, out] Instance
Um ponteiro para a estrutura de dados contada por referência a ser desreferenciada.
[in] LockHoldingState
O modo no qual o bloqueio apropriado para essa estrutura de dados é mantido. Esse parâmetro pode ser um dos seguintes valores para a enumeração LOCK_HOLDING_STATE:
LHS_LockNotHeld
Um bloqueio não está mantido no momento.
LHS_SharedLockHeld
Um bloqueio compartilhado está sendo mantido.
LHS_ExclusiveLockHeld
Um bloqueio exclusivo está sendo mantido.
Retornar valor
Nenhum
Comentários
RxDereference pode ser usado para desreferenciar (decremento por um) o membro NodeReferenceCount nas seguintes estruturas de dados usadas pelo RDBSS:
SRV_CALL
NET_ROOT
V_NET_ROOT
SRV_OPEN
FOBX
Se RxDereference for chamado com qualquer outro tipo de estrutura de dados RDBSS, a rotina fará com que o sistema assert em builds verificados.
Se o membro NodeReferenceCount for menor que 0 após ser desrefenced (decremented) por RxDereference, rxDereference fará com que o sistema assert em builds verificados.
Se o membro NodeReferenceCount diminuir para 1 e o parâmetro LockHoldingState for LHS_ExclusiveLockHeld, a instância da estrutura de dados poderá ser finalizada imediatamente. Caso contrário, a instância da estrutura de dados será marcada para ser scavenged e finalizada posteriormente.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | rxprocs.h (include Rxprocs.h) |
IRQL | <= APC_LEVEL |