Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kayıtlı arabirim, oturum hata ayıklama yöneticisinin (SDM) IDebugProgramPublisher2 arabirimi aracılığıyla "yayımlanan" programlar hakkında bilgi edinmesini sağlar.
Sözdizimi
IDebugProgramProvider2 : IUnknown
Uygulayıcılar için Notlar
Hata ayıklama altyapısı (DE), hata ayıklanan programlar hakkında bilgi sağlamak için bu arabirimi uygular. Bu arabirim, Hata Ayıklama için SDK Yardımcıları bölümünde açıklandığı gibi ölçümünü metricProgramProviderkullanarak kayıt defterinin DE bölümüne kaydedilir.
Arayanlar İçin Notlar
COM'un CoCreateInstance işlevini kayıt defterinden alınan program sağlayıcısıyla CLSID çağırın. Bkz. Örnek.
Vtable sırasına göre yöntemler
| Metot | Açıklama |
|---|---|
| GetProviderProcessData | Çalışan programlar hakkında çeşitli yollarla filtrelenmiş bilgiler alır. |
| GetProviderProgramNode | Belirli bir işlem kimliğine göre bir program düğümü alır. |
| WatchForProviderEvents | Belirli işlem türleriyle ilişkili sağlayıcı olaylarını izlemek için bir geri çağırma oluşturur. |
| SetLocale | DE tarafından gereken dile özgü kaynaklar için bir yerel ayar oluşturur. |
Açıklamalar
Normalde bir işlem, bu işlemde çalışan programlar hakkında bilgi edinmek için bu arabirimi kullanır.
Gereksinimler
Üst bilgi: msdbg.h
Ad Alanı: Microsoft.VisualStudio.Debugger.Interop
Derleme: Microsoft.VisualStudio.Debugger.Interop.dll
Örnek
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);
}