EnumProcesses

2014-04-12 00:58:25

EnumProcesses

检索进程中的每一个进程标识符。

函数原型:

BOOL
WINAPI
EnumProcesses (
    DWORD * lpidProcess,
    DWORD  cb,
    DWORD * cbNeeded
    );
lpidProcess是保存进程ID的数组。
cb是进程组数lpidProcess的大小。
cbNeeded是返回进程数组的大小。

下面算式可以得出返回了多少进程:
nReturned = cbNeeded / sizeof(DWORD)。
定义个比较大的数组来接收进程IDs,是一个比较好的选择.虽然文档将返回的 DWORD 命名为“pBytesRrturned”,实际上是没有办法知道到底要传多大的数组的。
EnumProcesses()根本不会在 pBytesRrturned 中返回一个大于 cb 参数传递的数组值。结果,唯一确保 EnumProcesses()函数成功的方法是分配一个 DWORD 数组,
并且,如果返回的 cbNeeded 等于 cb,分配一个较大的数组,并不停地尝试直到 cbNeeded 小于 cb

 

posted @ 2014-04-12 01:03  felove  阅读(384)  评论(0)    收藏  举报