Função RxDereference (rxprocs.h)
RxDereference decrementa o NodeReferenceCount membro de uma estrutura por uma 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 é mantido no momento.
LHS_SharedLockHeld
Um bloqueio compartilhado está sendo mantido.
LHS_ExclusiveLockHeld
Um bloqueio exclusivo está sendo mantido.
Valor de retorno
Nenhum
Observações
RxDereference pode ser usado para desreferenciar (decrementar 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 asserte em builds verificados.
Se o membro NodeReferenceCount for menor que 0 depois de ser desreferenciado (decremented) por RxDereference, RxDereference fará com que o sistema declare em builds verificados.
Se o NodeReferenceCount decrementos de membro para 1 e o parâmetro LockHoldingState foi 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 |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | rxprocs.h (include Rxprocs.h) |
IRQL | <= APC_LEVEL |