Freigeben über


Rückrufsynchronisierung

Die asynchrone WinInet-API (die für die gängigsten Protokolle verwendet wird) belässt die Synchronisierung des Rückrufmechanismus und der aufrufenden Anwendung als Übung für den Client. Dies ist beabsichtigt, weil es ein Höchstmaß an Flexibilität ermöglicht. Die Standardprotokolle und die URL-Monikerimplementierung führen diese Synchronisierung durch und garantieren, dass Singlethread- und Apartmentthreadanwendungen niemals konflikte im Free-Thread-Stil verarbeiten müssen. Das heißt, die IEnumFORMATETC - und IBindStatusCallback-Schnittstellen des Clients werden nur für die entsprechenden Threads aufgerufen. Dieses Feature ist für den Benutzer der URL mMoniker transparent, da jeder Thread, der IMoniker::BindToStorage und IMoniker::BindToObject aufruft , über eine Nachrichtenwarteschlange verfügt.

Die asynchrone Monikerspezifikation erfordert eine präzisere Kontrolle über die Priorisierung und Verwaltung von Downloads, als dies für WinSock oder WinInet zulässig ist. Dementsprechend verwaltet ein URL-Moniker alle Downloads für einen bestimmten Aufruferthread und verwendet (als Teil seiner Synchronisierung) ein Prioritätsschema, das auf der IBinding-Spezifikation basiert.

URL-Moniker