Select the product you need help with
PRB: Synchronizace OLE volání se nezdaří v Inter, Process/vlákno SendMessageID článku: 131056 - Produkty, které se vztahují k tomuto článku. PříznakySynchronní volání OLE provedené příjemce SendMessage inter-process/mimo podproces se nezdaří s RPC_E_CANTCALLOUT_ININPUTSYNCCALL(0x8001010D). PříčinaPříčinou je popsána v podrobných informací v části "Další informace" tohoto článku. ŘešeníMísto inter process/inter thread SendMessage použít PostMessage. ProhlášeníToto chování je záměrné. Další informaceViz začátku Kapitola 13 v OLE 2 Programmer's Reference svazku 1 pro kategorie volání OLE. Pochopení těchto kategorií je třeba v tomto článku. Většina volání OLE jsou synchronní volání. Synchronní volání jiný proces výnosy tohoto procesu a čeká na odpověď od tohoto procesu. Kromě toho má OLE synchronizovány vstup volání, která se vztahují k rozhraní inplace aktivace. Synchronizovat vstup volání jsou implementovány pomocí inter process/inter thread SendMessage. 16bitový systém Windows neumožňuje úkol výnos při v inter proces/inter-thread SendMessage, protože může dojít k zablokování systému. K zablokování dochází, protože zpráva pro odesílatele může být uložen v horní části sdílené systémové fronty a tím se zabrání další úkoly, včetně příjemce SendMessage, jejich zprávy načítání ze systémové fronty, dokud odesílatele ani. Odesílatel nelze načíst své zprávy, protože čeká inter process/inter thread SendMessage vrátíte. V systému Windows 32-bit každý proces má vlastní frontu systému a tato architektura obvykle zabrání zablokování potíže vyskytující. Však po jednoho procesu je aktivní buňce v okně jiným procesem, systémové fronty dva procesy synchronizovány jako v oknech 16 bitů, tak může dojít k zablokování. Chcete-li tomu zabránit, zastaví OLE synchronní volání OLE z prováděny při volající příjemce pozvání synchronizovány vstup. OLE Určuje, zda volající synchronního volání je příjemce pozvání synchronizovány vstup pomocí rozhraní API InSendMessage(). Tato kontrola široké zabraňuje synchronního volání z prováděny, pokud se volající momentálně příjemce jakékoli inter process/inter thread SendMessage. VlastnostiID článku: 131056 - Poslední aktualizace: 11. července 2005 - Revize: 2.2 Informace v tomto článku jsou určeny pro produkt:
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:131056
(http://support.microsoft.com/kb/131056/en-us/
)
|




Zpět nahoru








