CreateToolhelp32Snapshot 

Takes a snapshot of the processes and the heaps, modules, and threads used by the processes.

HANDLE WINAPI CreateToolhelp32Snapshot(DWORD dwFlags,
    DWORD th32ProcessID);

 

Parameters

dwFlags

Flags specifying portions of the system to include in the snapshot. These values are defined:

TH32CS_INHERIT

Indicates that the snapshot handle is to be inheritable.

TH32CS_SNAPALL

Equivalent to specifying the TH32CS_SNAPHEAPLIST, TH32CS_SNAPMODULE, TH32CS_SNAPPROCESS, and TH32CS_SNAPTHREAD values.

TH32CS_SNAPHEAPLIST

Includes the heap list of the specified  process in the snapshot.

TH32CS_SNAPMODULE

Includes the module list of the specified  process in the snapshot.

TH32CS_SNAPPROCESS

Includes the Win32 process list in the snapshot.

TH32CS_SNAPTHREAD

Includes the Win32 thread list in the snapshot.

 

th32ProcessID

Process identifier. This parameter can be zero to indicate the current process. This parameter is used when the TH32CS_SNAPHEAPLIST or TH32CS_SNAPMODULE value is specified. Otherwise, it is ignored.

 

Return Value

Returns an open handle to the specified snapshot if successful or  - 1 otherwise.

Remarks

The snapshot taken by this function is examined by the other tool help functions to provide their results. Access to the snapshot is read only. The snapshot handle acts like an object handle and is subject to the same rules regarding which processes and threads it is valid in.

To retrieve an extended error status code generated by this function, use the GetLastError11C2VS7 function.

To destroy the snapshot, use the CloseHandleNGWWIE function.