IDebugProgramProvider2::GetProviderProcessData
Retrieves a list of running programs from a specified process.
HRESULT GetProviderProcessData(
PROVIDER_FLAGS Flags,
IDebugDefaultPort2* pPort,
AD_PROCESS_ID processId,
CONST_GUID_ARRAY EngineFilter,
PROVIDER_PROCESS_DATA* pProcess
);
int GetProviderProcessData(
enum_PROVIDER_FLAGS Flags,
IDebugDefaultPort2 pPort,
AD_PROCESS_ID ProcessId,
CONST_GUID_ARRAY EngineFilter,
PROVIDER_PROCESS_DATA[] pProcess
);
Parameters
Flags
[in] A combination of flags from the PROVIDER_FLAGS enumeration. The following flags are typical for this call:Flag
Description
PFLAG_REMOTE_PORT
Caller is running on remote machine.
PFLAG_DEBUGGEE
Caller is currently being debugged (additional information about marshalling will be returned for each node).
PFLAG_ATTACHED_TO_DEBUGGEE
Caller was attached to but not launched by the debugger.
PFLAG_GET_PROGRAM_NODES
Caller is asking for a list of program nodes to be returned.
pPort
[in] The port the calling process is running on.processId
[in] An AD_PROCESS_ID structure holding the ID of the process that contains the program in question.EngineFilter
[in] An array of GUIDs for debug engines assigned to debug this process (these will be used to filter the programs that are actually returned based on what the supplied engines support; if no engines are specified, then all programs will be returned).pProcess
[out] A PROVIDER_PROCESS_DATA structure that is filled in with the requested information.
Return Value
If successful, returns S_OK; otherwise, returns an error code.
Remarks
This method is normally called by a process to obtain a list of programs running in that process. The returned information is a list of IDebugProgramNode2 objects.