Функция RxGetFileSizeWithLock (fcb.h)

RxGetFileSizeWithLock получает размер файла в структуре FCB с помощью блокировки, чтобы обеспечить согласованное чтение 64-разрядного значения.

Синтаксис

void RxGetFileSizeWithLock(
  [in]  IN PFCB       Fcb,
  [out] OUT PLONGLONG FileSize
);

Параметры

[in] Fcb

Указатель на структуру FCB.

[out] FileSize

Указатель, в котором файл размера файла будет храниться в выходных данных.

Возвращаемое значение

None

Remarks

Подпрограмма RxGetFileSizeWithLock обычно не вызывается драйверами мини-перенаправления сети напрямую. RDBSS вызывает эту подпрограмму внутри системы при получении пакета запроса ввода-вывода для IRP_MJ_QUERY_INFORMATION, IRP_MJ_SET_INFORMATION, IRP_MJ_READ или IRP_MJ_WRITE. Эти irP обычно получаются RDBSS в ответ на запросы операций с файлом приложения в пользовательском режиме. Такой IRP также может выдать другой драйвер ядра.

Эти irP обычно приводят к вызову одной из подпрограмм MRxQueryFileInfo, MRxQuerySdInfo, MRxLowIORead или MRxLowIOWrite , предоставляемых мини-перенаправлением сети.

RxGetFileSizeWithLock получает блокировку структуры FCB, затем считывает размер файла, а затем освобождает блокировку. Эта блокировка гарантирует, что размер файла будет защищен во время этой операции, так как размер файла составляет 64-разрядное количество, и для чтения на 32-разрядных процессорах требуется по крайней мере две инструкции.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть fcb.h (включая Mrxfcb.h, Fcb.h)
IRQL <= APC_LEVEL

См. также раздел

MRxQueryFileInfo

MRxQuerySdInfo

Структура FCB