Als Teil eines JavaScript Profiler für IE 6/7 musste ich einen benutzerdefinierten Debugger laden, den ich in IE erstellt habe. Ich habe das funktioniert gut auf XP, aber konnte es nicht funktionieren auf Vista (ganze Geschichte hier: http://damianblog.com/2008/09/09/tracejs-v2-rip/).IDebugProgramProvider2.GetProviderProcessData unter Vista
Der Aufruf von GetProviderProcessData schlägt unter Vista fehl. Hat 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;
}
Ich habe aufgehört zu arbeiten, da IE8 bietet integrierte Profiler-Unterstützung - Ich werde Ihre Antwort als Antwort markieren und upvote. – Damian