回呼同步處理
異步 WinInet API (用於最常見的通訊協定)會讓回呼機制和呼叫應用程式同步處理,做為客戶端的練習。 這是刻意的,因為它允許最大的彈性程度。 默認通訊協定和 URL Moniker 實作會執行這項同步處理,並保證單個線程和 Apartment 線程應用程式永遠不需要處理自由線程樣式爭用。 也就是說,用戶端的 IEnumFORMATETC 和 IBindStatusCallback 介面只會在其適當的線程上呼叫。 只要呼叫 IMoniker::BindTo 儲存體 且 IMoniker::BindToObject 的每個線程都有消息佇列,此功能對 URL mMoniker 的使用者而言是透明的。
異步 Moniker 規格需要比 WinSock 或 WinInet 所允許的更精確控制下載的優先順序和管理。 因此,URL Moniker 會根據 IBinding 規格來管理任何指定呼叫端線程的所有下載,並使用 (作為同步處理的一部分) 優先順序配置。
相關主題