Ну, вы пытаетесь перейти к текущей записи в журнале путешествий, которая не имеет особого смысла, так как вы уже там.Я мог бы воспроизвести ошибку для этого конкретного случая и найти ее не очень полезной.
Но используя что-то еще, кроме 0, в качестве первого параметра для GetRelativeEntry
, а затем вызов TravelTo
сработал, как и ожидалось.
ITravelLogStg :: GetRelativeEntry возвращает запись, указанную в смещении.Положительное смещение возвращает запись после текущей записи;отрицательное смещение возвращает запись перед текущей записью.Ноль возвращает текущую запись.
(Источник: MSDN )
Попробуйте изменить hr = tlstg.GetRelativeEntry(0, out ptle);
- первый параметр указывает, в каком направлении вы хотите перемещаться.Использование других значений, отличных от 0, должно работать, например, вы можете использовать -1, чтобы переместиться на одну запись назад.