Rückrufsynchronisierung
Die asynchrone WinInet-API- (für die häufigsten Protokolle verwendet) lässt die Synchronisierung des Rückrufmechanismus und der aufrufenden Anwendung als Übung für den Client. Dies ist beabsichtigt, weil sie das größte Maß an Flexibilität ermöglicht. Die Standardprotokolle und die URL-Monikerimplementierung führen diese Synchronisierung durch und garantieren, dass singlethreaded- und apartmentthreaded-Anwendungen niemals mit Free-Thread-Stil-Inhalten umgehen müssen. Das heißt, die IEnumFORMATETC- des Clients und IBindStatusCallback Schnittstellen werden nur für ihre richtigen Threads aufgerufen. Dieses Feature ist für den Benutzer der URL mMoniker transparent, solange jeder Thread, der IMoniker::BindToStorage aufruft, und IMoniker::BindToObject über eine Nachrichtenwarteschlange verfügt.
Die asynchrone Moniker-Spezifikation erfordert eine genauere Kontrolle über die Priorisierung und Verwaltung von Downloads, als für WinSock oder WinInet zulässig ist. Dementsprechend verwaltet ein URL-Moniker alle Downloads für den Thread eines bestimmten Aufrufers, wobei (als Teil der Synchronisierung) ein Prioritätsschema basierend auf der IBinding- Spezifikation verwendet wird.
Verwandte Themen