INFORMACE: Funkce Shell volání a rozhraní z více podprocesy Apartment

Překlady článku Překlady článku
ID článku: 287087 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Při volání nebo přístup k funkci prostředí nebo prostředí rozhraní podproces byl inicializován jako apartment s podprocesy funkci nebo rozhraní může mít jeho funkce narušeny nebo zcela nezdaří.

Další informace

Volání CoInitializeEx(COINIT_MULTITHREADED) umožňuje volání objekty vytvořené volající podproces spustit v libovolné podprocesu. Při přístupu k objekty používající model s více podprocesy typu apartment z podprocesů typu apartment, COM synchronizovat přístup k objektu. V pořadí pro tuto synchronizaci dojít musí COM zařazování volání k objektu. Protože prostředí aktuálně neposkytne potřebné informace, prostřednictvím knihovny typů nebo proxy/stub kód pro její objekty zařadit, pokusy o přístup k objektům prostředí z selhání apartment s podprocesy.

Následují příklady volání CoInitializeEx(COINIT_MULTITHREADED) může ovlivnit jak funkce, které spoléhají na prostředí objekty:

GetOpenFileName/GetSaveFileName
Uživatelé mohou přejít do oboru názvů složek rozšíření například "Dokumenty" prostřednictvím dialogových oken Otevřít a uložit. Však tyto složky nelze procházet k protože prohlížeče nelze vytvořit požadované rozhraní, například IShellFolder.
ShellExecute/ShellExecuteEx
Zavěšení ShellExecute lze zapsat rozšířit funkce ShellExecute/ShellExecuteEx implementací rozhraní IShellExecuteHook. Při volání ShellExecute/ShellExecuteEx registrované ShellExecute zavěšení nelze načíst.
V obou těchto příkladů bude součást se pokouší získat ukazatel rozhraní objektu prostředí s CoCreateInstance IUnknown::QueryInterface a tak dále obvykle nezdaří s chybou při volání z s více podprocesy byty E_NOINTERFACE. Důvod, jak bylo uvedeno výše, je, že není žádný typ informace nebo proxy/stub kód pro požadované objekty.

Odkazy

"Procesu, podprocesů a byty," v části Základy COM v dokumentaci Platform SDK:
http://msdn.microsoft.com/en-us/library/ms693344(VS.85).aspx

Vlastnosti

ID článku: 287087 - Poslední aktualizace: 11. července 2005 - Revize: 1.4
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Platform Software Development Kit-January 2000 Edition
Klíčová slova: 
kbmt kbinfo kbpending kbshellgrp KB287087 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:287087

Dejte nám zpětnou vazbu

 

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