Share via


IDebugProgramProvider2::GetProviderProcessData

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

Retrieves a list of running programs from a specified process.

Syntax

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