Re[3]: Привет очень нужна помощь
От: Skipy Rich Россия  
Дата: 21.09.05 18:12
Оценка:
Здравствуйте, bviktor, Вы писали:

B>Нет так и задумано, что файл может отвалиться, мне нужно проверить именно

B>что файл отвалился и маппинг на память прошел, но указатель на память "плохой".

SEH
имхо, самый логичный путь.
Также можно воспользоваться функцией IsBadReadPtr — проверил при маппинге файла на CD:

    CAtlFile file;
    file.Create("G:\\autorun.inf", GENERIC_READ, FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_SHARE_DELETE, OPEN_EXISTING);
    ULONGLONG len;
    file.GetSize(len);
    printf("eject disk and press enter");
    getchar();

    CAtlFileMapping<BYTE> mp;
    mp.MapFile(file);
    void *ptr = mp.GetData();
    BOOL bad = IsBadReadPtr(ptr, len);
    printf("ptr is %s\n", bad?"bad":"good");

...добивая ногами психиатра: "Это кто нервный?! Это я нервный?!!"
fb2k: Sepultura - Nomad
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.