Я смог использовать SetFilePointerEx
очень хорошо, только при настройке положения.
SetFilePointerEx(PD, 512, @PositionVar, FILE_BEGIN);
SetFilePointerEx(PD, 0, @PositionVar, FILE_CURRENT);
Обе работы; Я могу установить позиции и даже проверить свою текущую. Но когда я устанавливаю FILE_END
в соответствии с документацией, независимо от того, что является вторым параметром, и независимо от того, предоставляю ли я указатель для третьего параметра, он терпит неудачу даже на допустимом дескрипторе, который многие другие операции могут использовать без сбоев.
Например:
SetFailed := SetFilePointerEx(PD, 0, @PositionVar, FILE_END);
SetFailed := SetFilePointerEx(PD, 0, nil, FILE_END);
Что бы я ни положил, оно терпит неудачу. Я работаю с дескриптором физического диска, и у него определенно есть конец. SetFilePointer
работает просто отлично, но это немного больше проблем, чем хотелось бы.
Это не конец света, а то, что происходит.