IDebugProgramProvider2::GetProviderProcessData
Retrieves a list of running programs from a specified process.
Syntax
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.