Função RxFinalizeSrvCall (fcb.h)
RxFinalizeSrvCall finaliza a estrutura de SRV_CALL fornecida. O chamador deve ter um bloqueio exclusivo na tabela netname associada ao objeto do dispositivo.
Sintaxe
BOOLEAN RxFinalizeSrvCall(
[out] OUT PSRV_CALL ThisSrvCall,
[in] IN BOOLEAN ForceFinalize
);
Parâmetros
[out] ThisSrvCall
Um ponteiro para a estrutura SRV_CALL para finalizar.
[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 NodeReferenceCount membro da estrutura SRV_CALL apontado por ThisSrvCall deverá ser 1 para que o SRV_CALL seja finalizado.
Valor de retorno
RxFinalizeSrvCall retornará TRUE no êxito ou FALSE se a finalização não tiver ocorrido:
Observações
A rotina de RxFinalizeSrvCall normalmente não é chamada diretamente por drivers de minidiretor de rede. O RDBSS chama essa rotina internamente quando a contagem de referência no SRV_CALL é decrementada para 1. O RDBSS também chama RxFinalizeSrvCall quando o driver de minidiretório de rede é parado ou descarregado.
Antes de chamar RxFinalizeSrvCall, um bloqueio na tabela netname associada ao objeto do dispositivo deve ser adquirido no modo exclusivo.
Se a ID do processo de execução atual for a mesma que a ID do processo RDBSS, um thread de trabalho atrasado será expedido para destruir a estrutura de SRV_CALL. Esse thread de trabalho chamará posteriormente a rotina de MRxFinalizeSrvCall fornecida pelo minidiretório de rede para finalizar o SRV_CALL. Caso contrário, a rotina MRxFinalizeSrvCall será chamada diretamente para finalizar o SRV_CALL.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | fcb.h (inclua Mrxfcb.h, Fcb.h) |
IRQL | <= APC_LEVEL |