ウィンドウであればEnumWindows、フォントであればEnumFontFamiliesexなんてのがあって、これにコールバック関数を渡しておけば、どんどん取得できるのですが…プロセス一覧だと、EnumProcessでは、そういう気のきいたことないですね…。psapi.dllだからなんでしょうか。
WMIとか使えばいいのでしょうが、ちょっとそこまでやりたくなかったので、何回もループして、第三引数で返された値(実際にはsizeof(DWORD)で割らなくてはならない)よりもバッファに埋められた値が大きくなるところまで順番に取得しています。
厳密にいえば、ループの最中にプロセス数が増減してしまう可能性もあるので、あまり好ましくはありませんが…。というか、一発で取得できるAPIがほしいなぁ。見落としているかな?