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、MRxQuerySdInfo、 MRxLowIORead 或 MRxLowIOWrite 例程之一。
RxGetFileSizeWithLock 获取 FCB 结构上的锁,然后读取文件大小,然后释放该锁。 此锁可确保在此操作期间文件大小受到保护,因为文件大小为 64 位,需要至少两个指令才能在 32 位处理器上读取。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | fcb.h (包括 Mrxfcb.h、Fcb.h) |
IRQL | <= APC_LEVEL |