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(
uint 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.
If successful, returns S_OK; otherwise, returns an error code.
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.
Reference
IDebugProgramProvider2
IDebugDefaultPort2
AD_PROCESS_ID
CONST_GUID_ARRAY
PROVIDER_FLAGS
PROVIDER_PROCESS_DATA
IDebugProgramNode2