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 de forma consistente.
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.
Valor de retorno
Nenhum
Observações
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 solicitando operações em um arquivo. Também é possível que outro driver de kernel emita tal IRP.
Normalmente, esses IRPs resultarão em uma chamada para um dos MRxQueryFileInfo, MRxQuerySdInfo, MRxLowIOReadou rotinas de 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 |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | fcb.h (inclua Mrxfcb.h, Fcb.h) |
IRQL | <= APC_LEVEL |