Share via


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.

See Also

Reference

IDebugProgramProvider2

IDebugDefaultPort2

AD_PROCESS_ID

CONST_GUID_ARRAY

PROVIDER_FLAGS

PROVIDER_PROCESS_DATA

IDebugProgramNode2