GetFileTime

Тема в разделе "WASM.BEGINNERS", создана пользователем _faq_, 3 авг 2008.

  1. _faq_

    _faq_ New Member

    Публикаций:
    0
    Регистрация:
    14 мар 2008
    Сообщения:
    46
    Здрасте!
    Есть ре-файл, записываю в него несколько байт. Затем узнаю функцией GetFileTime время последней модификации - она не изменена. Почему? Может, в реестре что-то отключено?
    У меня Windows XP SP2, FAT32. Пишу на С++.
     
  2. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    _faq_ как производишь запись и получаешь время? код приведи
     
  3. _faq_

    _faq_ New Member

    Публикаций:
    0
    Регистрация:
    14 мар 2008
    Сообщения:
    46
    Запись через CreateFile/CreateFileMapping/MapViewOfFile/UnmapViewOfFile. Пример получения времени:
    Код (Text):
    1.         ...
    2.         HANDLE hFile=CreateFile(...,GENERIC_READ | GENERIC_WRITE,
    3.         FILE_SHARE_READ | FILE_SHARE_WRITE,0,OPEN_EXISTING,
    4.                  FILE_ATTRIBUTE_NORMAL,0);
    5.     if(hFile==INVALID_HANDLE_VALUE)
    6.     {
    7.         cout<<"hFile ERROR!"<<endl;
    8.         return 0;
    9.     }
    10.     FILETIME at,ct,wt;
    11.     SYSTEMTIME st={sizeof(0)};
    12.     GetFileTime(hFile,&at,&ct,&wt);
    13.     FileTimeToSystemTime(&at,&st);
    14.         ...
    И потом смотрю уже через st.wMinute, etc.
     
  4. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    _faq_ точно производится запись в файл? загрузи в отладчик и посмотри, что выполняется и возвращается.
     
  5. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    _faq_
    А ты то время смотришь ? Время последнего изменения это wt, а ты судя по коду смотришь время создания, которое при модификации файла не изменяется
     
  6. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    NtQueryDirectoryFile(FileDirectoryInformation), NtQueryInformationFile(FileBasicInformation).
    RtlTimeToTimeFields().
     
  7. _faq_

    _faq_ New Member

    Публикаций:
    0
    Регистрация:
    14 мар 2008
    Сообщения:
    46
    leo Тю, перепутал. На самом деле - подставляю wt. Запись в файл производится - тут все отлично.
    CrystalIC мне бы для начала разобраться с помощью этих апишек.
     
  8. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    Данно... А дата последней записи сразу должна обновляться после UnmapViewOfFile, или нужно, чтобы все хэндлы файла закрылись?