Função RxGetFileSizeWithLock (fcb.h)
RxGetFileSizeWithLock obtém o tamanho do arquivo na estrutura FCB usando um bloqueio para garantir que o valor de 64 bits seja lido consistentemente.
Sintaxe
void RxGetFileSizeWithLock(
[in] IN PFCB Fcb,
[out] OUT PLONGLONG FileSize
);
Parâmetros
[in] Fcb
Um ponteiro para a estrutura FCB.
[out] FileSize
Um ponteiro em que o arquivo de tamanho do arquivo será armazenado na saída.
Retornar valor
Nenhum
Comentários
A rotina RxGetFileSizeWithLock normalmente não é chamada diretamente por drivers de minidiretório de rede. O RDBSS chama essa rotina internamente quando um pacote de solicitação de E/S é recebido para IRP_MJ_QUERY_INFORMATION, IRP_MJ_SET_INFORMATION, IRP_MJ_READ ou IRP_MJ_WRITE. Normalmente, esses IRPs são recebidos pelo RDBSS em resposta a um aplicativo no modo de usuário que solicita operações em um arquivo. Também é possível que outro driver de kernel emita esse IRP.
Normalmente, esses IRPs resultarão em uma chamada para uma das rotinas MRxQueryFileInfo, MRxQuerySdInfo, MRxLowIORead ou MRxLowIOWrite fornecidas pelo minidiretório de rede.
RxGetFileSizeWithLock adquire um bloqueio na estrutura FCB e lê o tamanho do arquivo e libera o bloqueio. Esse bloqueio garante que o tamanho do arquivo esteja protegido durante essa operação, pois o tamanho do arquivo é uma quantidade de 64 bits que requer pelo menos duas instruções para ler em processadores de 32 bits.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | fcb.h (inclua Mrxfcb.h, Fcb.h) |
IRQL | <= APC_LEVEL |