RxGetFileSizeWithLock 函数 (fcb.h)

RxGetFileSizeWithLock 使用锁获取 FCB 结构中的文件大小,以确保 64 位值的读取一致。

语法

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

参数

[in] Fcb

指向 FCB 结构的指针。

[out] FileSize

一个指针,文件大小文件将存储在输出中。

返回值

备注

网络微型重定向程序驱动程序通常不会直接调用 RxGetFileSizeWithLock 例程。 当收到IRP_MJ_QUERY_INFORMATION、IRP_MJ_SET_INFORMATION、IRP_MJ_READ或IRP_MJ_WRITE的 I/O 请求数据包时,RDBSS 会在内部调用此例程。 RDBSS 通常会接收这些 IRP,以响应请求对文件执行的操作的用户模式应用程序。 另一个内核驱动程序也可以发出此类 IRP。

这些 IRP 通常会导致调用网络微型重定向程序提供的 MRxQueryFileInfo、MRxQuerySdInfoMRxLowIOReadMRxLowIOWrite 例程之一。

RxGetFileSizeWithLock 获取 FCB 结构上的锁,然后读取文件大小,然后释放该锁。 此锁可确保在此操作期间文件大小受到保护,因为文件大小为 64 位,需要至少两个指令才能在 32 位处理器上读取。

要求

要求
目标平台 桌面
标头 fcb.h (包括 Mrxfcb.h、Fcb.h)
IRQL <= APC_LEVEL

另请参阅

MRxQueryFileInfo

MRxQuerySdInfo

FCB 结构