سؤال

كجزء من ملف تعريف JavaScript لـ IE 6/7، كنت بحاجة إلى تحميل مصحح أخطاء مخصص قمت بإنشائه في IE.لقد عملت بشكل جيد على نظام XP، لكن لم أتمكن من تشغيله على نظام التشغيل Vista (القصة الكاملة هنا: http://damianblog.com/2008/09/09/tracejs-v2-rip/).

فشل استدعاء GetProviderProcessData على نظام التشغيل Vista.هل لديكم أي اقتراحات؟

شكرا ، داميان

// 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;
}
هل كانت مفيدة؟

المحلول

سيكون من المفيد معرفة نتيجة الخطأ.

المشاكل المحتملة التي يمكنني التفكير فيها:

إذا تم رفض حصولك على الإذن، فمن المرجح أنك تفتقد بعضًا من المتطلبات امتياز في ACL الخاص بك.في بعض الأحيان لا يتم توثيق الترويسات الجديدة بشكل جيد، تحقق من أحدث رؤوس Platform SDK لمعرفة ما إذا كانت هناك أي ترويسات جديدة لا تزال موجودة.من الممكن أنه في ظل نظام التشغيل Vista، لم يتم تعيين الامتياز الافتراضي إلى قائمة التحكم بالوصول (ACL) الخاصة بك بعد الآن.

إذا حصلت على خطأ من نوع "لم يتم العثور عليه"، فقد تكون المشكلة 32 بت/64 بت.قد تكون واجهة برمجة التطبيقات الخاصة بتصحيح الأخطاء متاحة فقط ضمن الإصدار 64 بت من COM على نظام التشغيل vista 64.يمكن أن يكون التشغيل البيني 32 بت/64 بت مربكًا للغاية.

نصائح أخرى

لست على دراية بهذه الواجهات، لكن حالات الفشل غير المتوقعة في نظام التشغيل Vista قد تتطلب تجاوز مطالبة UAC.هل حاولت تشغيل مصحح الأخطاء بامتيازات المسؤول؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top