BILGI: Çok iş parçacıklı bir grup Kabuk işlevler ve arabirimleri arama

Makale çevirileri Makale çevirileri
Makale numarası: 287087 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Özet

Call ya da birden çok iş parçacığı bir apartman başlatılmış bir iş parçacığından bir kabuk veya kabuk arabirimi erişim işlevini veya arabirim işlevselliğini güçlüğü olan veya tamamen başarısız.

Daha fazla bilgi

Bir çağrı CoInitializeEx(COINIT_MULTITHREADED) yapılan arama iş parçacığı üzerinde oluşturulan nesneler üzerinde herhangi bir iş parçacığının çalıştırılmasına izin verir. Model birden çok iş parçacığı bir apartman iş parçacığı apartman kullanan nesneler erişirken, COM nesnesine erişim eşitler. Bu Eşitlemenin yapılacağı sırada, COM, nesneye çağrı çağrılamadı gerekir. Kabuk şu anda gerekli bilgileri sağlamadığından, bir tür kitaplığı veya proxy/saplama kodunu konmasını, <a0></a0>, nesneleri bir çok iş parçacıklı, apartment başarısız Kabuk nesneleri erişmeye çalışır.

Çağrı CoInitializeEx(COINIT_MULTITHREADED) Kabuk nesnelerde kullanan işlevlerini nasıl etkileyebileceği örnekleri şunlardır:

GetOpenFileName/GetSaveFileName
"Belgelerim" gibi ad uzantısı klasörlere ve farklı Kaydet iletişim kutuları kullanıcıların gidebilirsiniz. Tarayıcı IShellFolder gibi gerekli arabirimleri oluşturamıyor çünkü ancak, bu klasörler için gözattığınız edemiyor.
ShellExecute/ShellExecuteEx
ShellExecute kancaları IShellExecuteHook arabirimi uygulayarak ShellExecute/ShellExecuteEx işlevselliğini genişletmek için yazılabilir. ShellExecute/ShellExecuteEx çağrıldığında, kayıtlı ShellExecute Kancaları yüklenemiyor.
Bu örnekleri ikisinde bir arabirim işaretçisi ile Cocreateınstance, IUnknown::QueryInterface, Kabuk nesnesine almak ve benzeri deniyor bileşen genellikle birden çok iş parçacığı apartmanlar çağrıldığında E_NOINTERFACE hatasıyla başarısız olur. Nedeni, yukarıda belirtildiği gibi istenmekte olan nesneler için tür bilgileri veya proxy/saplama kod olduğunu olmasıdır.

Referanslar

"Işlem, iş parçacığı ve apartmanlar," COM temelleri Platform SDK belgelerinde altında:
http://msdn.microsoft.com/en-us/library/ms693344(VS.85).aspx

Özellikler

Makale numarası: 287087 - Last Review: 11 Temmuz 2005 Pazartesi - Gözden geçirme: 1.4
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Platform Software Development Kit - Ocak 2000 Sürümü
Anahtar Kelimeler: 
kbmt kbinfo kbpending kbshellgrp KB287087 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:287087

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com