1

既然Length参数SetFileIoOverlappedRangeULONGonly,怎么才能锁定一个4GB或者更大的内存块呢?

假设我分配了一个连续的 4 GB 内存块用于重叠 I/O 并调用SetFileIoOverlappedRange两次,每半个块调用一次。两个调用都返回一个成功(非零)状态码。调用是否相加,导致锁定整个 4 GB 块?还是第二个调用“覆盖”第一个?我怎么知道?

4

1 回答 1

0

假设我分配了一个连续的 4 GB 内存块用于重叠 I/O 并调用SetFileIoOverlappedRange两次

我了解该范围适用于OVERLAPPED结构,而不是数据缓冲区。

(实际上,对于IO_STATUS_BLOCK结构。请参阅FileIoStatusBlockRangeInformation。)

您可能不需要或没有 4GB 的OVERLAPPED结构。

于 2021-10-25T07:06:48.000 回答