أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

INFO: للطلب دالات Shell و واجهات من قسم متعددة مؤشرات الترابط

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية287087
الموجز
عند الاتصال أو الوصول إلى الدالة shell أو واجهة shell من مؤشر ترابط الذي تمت تهيئة كـ apartment متعددة مؤشرات ترابط الدالة أو واجهة قد تحتوي الوظائف ضعف أو فشل بشكل كامل.
معلومات أخرى
يسمح استدعاء CoInitializeEx(COINIT_MULTITHREADED) المكالمات إلى الكائنات التي تم إنشاؤها على مؤشر ترابط استدعاء لتشغيل على أي مؤشر ترابط. عند الوصول إلى الكائنات التي تستخدم الشقة ترابط من الأجزاء متعددة مؤشرات ترابط, سيتم مزامنة COM الوصول إلى الكائن. في ترتيب المزامنة هذا إلى حدوث يجب تنظيم COM استدعاءات إلى الكائن. لعدم shell حالياً توفر المعلومات الضرورية, إما من خلال مكتبة النوع أو وكيل/كعب التعليمات البرمجية الخاصة به كائنات يمكن تنظيم يحاول الوصول إلى الكائنات shell من فشل شقة متعددة مؤشرات ترابط.

فيما يلي أمثلة وكيف تؤثر استدعاءات CoInitializeEx(COINIT_MULTITHREADED) الدالات التي تعتمد على كائنات shell:

GetOpenFileName/GetSaveFileName
يمكن للمستخدمين الانتقال إلى مساحة اسم المجلدات ملحق مثل "المستندات" خلال مربعات الحوار فتح و حفظ باسم. ومع ذلك، لا يمكن استعراض هذه المجلدات إلى لأن المستعرض لا يمكن إنشاء الواجهات المطلوبة مثل IShellFolder.
ShellExecute/ShellExecuteEx
يمكن كتابة hooks ShellExecute لتوسيع وظيفة ShellExecute/ShellExecuteEx عن طريق تطبيق واجهة IShellExecuteHook. عندما يتم استدعاء ShellExecute/ShellExecuteEx لا يمكن تحميل hooks ShellExecute المسجلة.
في كل من هذه الأمثلة سوف تفشل المكون الذي تحاول الحصول على مؤشر واجهة إلى كائن shell مع CoCreateInstance IUnknown::QueryInterface ، وما عادةً مع خطأ E_NOINTERFACE عند استدعاؤها من apartments متعددة مؤشرات الترابط. السبب في كما هو موضح أعلاه، يتم هناك لم معلومات أو وكيل/كعب رمز نوع الكائنات المطلوبة.
مراجع
"العملية، عمليات و Apartments," ضمن أساسيات COM في وثائق SDK للنظام الأساسي:

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 287087 - آخر مراجعة: 07/11/2005 19:05:49 - المراجعة: 1.4

Microsoft Platform Software Development Kit-January 2000 Edition

  • kbmt kbinfo kbpending kbshellgrp KB287087 KbMtar
تعليقات
/html>v>
v>
0&did=1&t=">p;did=1&t=">id=1&t="> var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("