0

我正在尝试使用需要 DWORD 的函数。

这些是规格:

dwFileOffsetHigh [in]

视图开始的文件偏移量的高位 DWORD。dwFileOffsetLow [输入]

视图开始的文件偏移量的低位 DWORD。高偏移量和低偏移量的组合必须在文件映射中指定偏移量。它们还必须与系统的内存分配粒度相匹配。也就是说,偏移量必须是分配粒度的倍数。要获取系统的内存分配粒度,请使用GetSystemInfo 函数,该函数填充SYSTEM_INFO 结构的成员。

该函数对我来说失败,错误参数不正确。

unsigned long lByteStart=200959959;
unsigned long lByteLen=66964224;

MapViewOfFile( *phMapping, FILE_MAP_READ, 0, lByteStart, lByteLen );

我不在乎高低或低,因为我不理解它,只是希望它会起作用。

既然它不起作用,有人可能会告诉我我做错了什么以及我需要做什么才能正确地做到这一点?

4

1 回答 1

3

问题不在于高/低部分,您做得对。问题是“偏移量必须是分配粒度的倍数”。我不认为你是。

分配粒度的典型值是 4096,尽管您应该检查它在您的系统上是什么,如报价所述。

于 2013-10-12T20:58:19.150 回答