Compartilhar via


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

Confira também

MRxQueryFileInfo

MRxQuerySdInfo

A estrutura FCB