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、MRxQuerySdInfo、MRxLowIORead,或 网络微型重定向程序提供的 MRxLowIOWrite 例程之一。
RxGetFileSizeWithLock 获取 FCB 结构的锁,然后读取文件大小,然后释放锁。 此锁可确保在此作期间保护文件大小,因为文件大小是 64 位数量,需要至少两条指令在 32 位处理器上读取。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | fcb.h (包括 Mrxfcb.h、Fcb.h) |
IRQL | <= APC_LEVEL |