IDebugProgramProvider2
Toto registrované rozhraní umožňuje správci ladění relace (SDM) získat informace o programech, které byly "publikovány" prostřednictvím rozhraní IDebugProgramPublisher2 .
Syntaxe
IDebugProgramProvider2 : IUnknown
Poznámky pro implementátory
Ladicí modul (DE) implementuje toto rozhraní, které poskytuje informace o laděných programech. Toto rozhraní je registrováno v části DE registru pomocí metriky metricProgramProvider
, jak je popsáno v pomocných rutinách sady SDK pro ladění.
Poznámky pro volající
Volejte funkci modelu COM CoCreateInstance
s CLSID
poskytovatelem programu, který je získán z registru. Podívejte se na příklad.
Metody v pořadí tabulky Vtable
metoda | Popis |
---|---|
GetProviderProcessData | Získá informace o spuštěných programech filtrovaných různými způsoby. |
GetProviderProgramNode | Získá programový uzel vzhledem ke konkrétnímu ID procesu. |
WatchForProviderEvents | Vytvoří zpětné volání, které bude sledovat události zprostředkovatele přidružené ke konkrétním druhům procesů. |
SetLocale | Vytvoří národní prostředí pro všechny prostředky specifické pro jazyk, které potřebuje de. |
Poznámky
Proces obvykle používá toto rozhraní k zjištění programů spuštěných v tomto procesu.
Požadavky
Hlavička: msdbg.h
Obor názvů: Microsoft.VisualStudio.Debugger.Interop
Sestavení: Microsoft.VisualStudio.Debugger.Interop.dll
Příklad
IDebugProgramProvider2 *GetProgramProvider(GUID *pDebugEngineGuid)
{
// This is typically defined globally. For this example, it is
// defined here.
static const WCHAR strRegistrationRoot[] = L"Software\\Microsoft\\VisualStudio\\8.0Exp";
IDebugProgramProvider2 *pProvider = NULL;
if (pDebugEngineGuid != NULL) {
CLSID clsidProvider = { 0 };
::GetMetric(NULL,
metrictypeEngine,
*pDebugEngineGuid,
metricProgramProvider,
&clsidProvider,
strRegistrationRoot);
if (!IsEqualGUID(clsidProvider,GUID_NULL)) {
CComPtr<IDebugProgramProvider2> spProgramProvider;
spProgramProvider.CoCreateInstance(clsidProvider);
if (spProgramProvider != NULL) {
pProvider = spProgramProvider.Detach();
}
}
}
return(pProvider);
}