Função RxFinalizeNetRoot (fcb.h)
RxFinalizeNetRoot finaliza a estrutura de NET_ROOT fornecida. O chamador deve ter um bloqueio exclusivo na tabela netname associada ao objeto do dispositivo.
Sintaxe
BOOLEAN RxFinalizeNetRoot(
[out] OUT PNET_ROOT ThisNetRoot,
[in] IN BOOLEAN RecursiveFinalize,
[in] IN BOOLEAN ForceFinalize
);
Parâmetros
[out] ThisNetRoot
Um ponteiro para a estrutura NET_ROOT a ser finalizada.
[in] RecursiveFinalize
O valor que indica se a finalização deve ser feita recursivamente.
[in] ForceFinalize
O valor que indica se a finalização deve ser forçada, independentemente da contagem de referência.
Se ForceFinalize for FALSE, o membro NodeReferenceCount da estrutura NET_ROOT apontada por ThisNetRoot deverá ser 1 para que o NET_ROOT seja finalizado.
Retornar valor
RxFinalizeNetRoot retornará TRUE em caso de êxito ou FALSE se a finalização não ocorrer: se uma finalização do NET_ROOT já estiver em processo, RxFinalizeNetRoot retornará FALSE.
Comentários
A rotina RxFinalizeNetRoot normalmente não é chamada por drivers de minidiretório de rede diretamente. O RDBSS chama essa rotina internamente quando a contagem de referência no NET_ROOT é decrementada para 1.
Antes de chamar RxFinalizeNetRoot, um bloqueio na tabela netname associada ao objeto do dispositivo deve ser adquirido no modo exclusivo.
Se o parâmetro RecursiveFinalize for TRUE, RxFinalizeNetRoot limpará todas as estruturas de FCB órfãs associadas a esse NET_ROOT. Essas FCBs órfãs são estruturas em que o membro FcbState tem o sinalizador FCB_STATE_ORPHANED definido.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | fcb.h (inclua Fcb.h, Mrxfcb.h) |
IRQL | <= APC_LEVEL |