RxGetFileSizeWithLock 函数 (fcb.h)

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

语法

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

参数

[in] Fcb

指向 FCB 结构的指针。

[out] FileSize

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

返回值

没有

言论

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

这些 IRP 通常会调用其中一个 MRxQueryFileInfo、MRxQuerySdInfoMRxLowIORead,或 网络微型重定向程序提供的 MRxLowIOWrite 例程之一。

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

要求

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

另请参阅

MRxQueryFileInfo

MRxQuerySdInfo

FCB 结构