IDebugProgramProvider2.GetProvider Prozessdaten auf Vista
-
09-06-2019 - |
Frage
Im Rahmen eines JavaScript-Profiler für IE 6/7 Ich brauchte einen benutzerdefinierten Debugger zu laden, die ich in IE erstellt. Ich habe diese Arbeit fein auf XP, aber nicht bekommen konnte es der Arbeit an Vista (Die ganze Geschichte hier: http://damianblog.com/2008/09/09/tracejs-v2-rip/ ).
Der Aufruf von GetProviderProcessData versagt auf Vista. Jemand irgendwelche Vorschläge?
Danke, Damian
// Create the MsProgramProvider
IDebugProgramProvider2* pIDebugProgramProvider2 = 0;
HRESULT st = CoCreateInstance(CLSID_MsProgramProvider, 0, CLSCTX_ALL, IID_IDebugProgramProvider2, (void**)&pIDebugProgramProvider2);
if(st != S_OK) {
return st;
}
// Get the IDebugProgramNode2 instances running in this process
AD_PROCESS_ID processID;
processID.ProcessId.dwProcessId = GetCurrentProcessId();
processID.ProcessIdType = AD_PROCESS_ID_SYSTEM;
CONST_GUID_ARRAY engineFilter;
engineFilter.dwCount = 0;
PROVIDER_PROCESS_DATA processData;
st = pIDebugProgramProvider2->GetProviderProcessData(PFLAG_GET_PROGRAM_NODES|PFLAG_DEBUGGEE, 0, processID, engineFilter, &processData);
if(st != S_OK) {
ShowError(L"GPPD Failed", st);
pIDebugProgramProvider2->Release();
return st;
}
Lösung
Es würde helfen, zu wissen, was das Fehlerergebnis war.
Mögliche Probleme, die ich denken kann:
Wenn Sie immer die Erlaubnis verweigert, Ihr höchstwahrscheinlich einige requried
Andere Tipps
Ich bin mit diesen Schnittstellen nicht vertraut, aber unerwarteter Fehler in Vista kann sein an einer UAC-Eingabeaufforderung erfordern. Haben Sie versucht, den Debugger mit Administratorrechten starten?