Edit

Share via


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.

See also