Я пытаюсь использовать функцию, которая требует DWORD.
Это спецификации:
dwFileOffsetHigh [in]
DWORD верхнего порядка смещения файла, где начинается представление. dwFileOffsetLow [in]
DWORD младшего порядка для смещения файла, где должно начинаться представление. Комбинация высоких и низких смещений должна указывать смещение в сопоставлении файлов. Они также должны соответствовать гранулярности распределения памяти в системе. То есть, смещение должно быть кратным гранулярности распределения. Чтобы получить гранулярность распределения памяти в системе, используйте функцию GetSystemInfo, которая заполняет элементы структуры SYSTEM_INFO.
Функция не работает для меня с неправильным параметром ошибки.
unsigned long lByteStart=200959959;
unsigned long lByteLen=66964224;
MapViewOfFile( *phMapping, FILE_MAP_READ, 0, lByteStart, lByteLen );
Я не заботился о высоком или низком или низком, потому что я не понимал этого и просто надеялся, что это сработает.
Теперь, когда это не сработает, может кто-нибудь, возможно, рассказать мне, что я сделал не так, и что мне нужно сделать, чтобы сделать это правильно?
Проблема не в высокой/низкой части, вы сделали это правильно. Проблема заключается в том, что "смещение должно быть кратным гранулярности распределения". Я не думаю, что это так.
Типичное значение для гранулярности распределения составляет 4096, хотя вы должны проверить, что именно в вашей системе, как говорится в цитате.