Module32First(...) GetLastError() ошибка "Больше файлов не осталось"

Тема в разделе "WASM.WIN32", создана пользователем Charlief, 3 фев 2012.

  1. Charlief

    Charlief New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2010
    Сообщения:
    129
    Windows XP:
    Код (Text):
    1. hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE32, PID);
    GetLastError() возвращает "Операция успешно завершена".
    Далее вызывается
    Код (Text):
    1. if( hModuleSnap != INVALID_HANDLE_VALUE )
    2. { me32.dwSize = sizeof(MODULEENTRY32);
    3.   Module32First(hModuleSnap, &me32);
    4. ...
    GetLastError() возвращает "Больше файлов не осталось" для всех пользовательских процессов, включая и процесс из которого эти функции вызываются. То же самое возвращает и Module32Next. Структура me32 остаётся незаполненой.

    Подскажите в чём проблема.
     
  2. sender0

    sender0 New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2011
    Сообщения:
    25
    ОС 32 бита или 64?
    если 32 то TH32CS_SNAPMODULE32 не то что вам нужно
     
  3. Charlief

    Charlief New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2010
    Сообщения:
    129
    sender0
    Да, действительно, не внимательно читал описание флагов для функции.
    TH32CS_SNAPMODULE32 испльзуется в 64 разрядных Windows.
    C TH32CS_SNAPMODULE всё заработало.

    Спасибо за помощь !
     
  4. totimoud

    totimoud New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2012
    Сообщения:
    78
    Немного мозга и отладчика приводит к профиту ;)
     
  5. sender0

    sender0 New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2011
    Сообщения:
    25
    при чем тут отладчик то?
    просто невнимательность, ошибся человек, не ту константу указал
     
  6. totimoud

    totimoud New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2012
    Сообщения:
    78
    sender0
    Я когда дёргаю какую то высокоуровневую апи и она возвращает не понятную ошибку поступаю единственно возможным образом - раскрываю эту апи и смотрю там внутри чего не так. Как вы это решаете не существенно, способ один - отладчик.
     
  7. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    totimoud
    Можно еще документацию почитать.