ERROR_BAD_LENGTH при вызове Process32First в Windows 7

Я просто попытался отозвать старый код из Windows XP, который генерирует список всех запущенных процессов, но это не удалось в Windows 7. Прежде чем продолжить, вот код:

#include <windows.h>
#include <tlhelp32.h>

int main()
{
    HANDLE hSnap, hTemp;
    PROCESSENTRY32 pe;

    hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

    if(Process32First(hSnap, &pe)) {
        do {
            ...
            }
        } while(Process32Next(hSnap, &pe));
    }
    ...
}

Я проверил, какая функция не работает, и оказалось что это Process32First. GetLastError () вернул 24: «ERROR_BAD_LENGTH» Я не могу понять, в чем проблема. Есть предложения?

6
задан Stefan Steinegger 27 March 2013 в 12:59
поделиться