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 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

Consulte também

MRxQueryFileInfo

MRxQuerySdInfo

a estrutura fcb