Compartir a través de


Sincronización de devolución de llamada

La API de WinInet asincrónica (usada para los protocolos más comunes) deja la sincronización del mecanismo de devolución de llamada y la aplicación que realiza la llamada como ejercicio para el cliente. Esto es intencionado porque permite el mayor grado de flexibilidad. Los protocolos predeterminados y la implementación del moniker de dirección URL realizan esta sincronización y garantizan que las aplicaciones uniprocesos y de subprocesos de apartamento nunca tengan que tratar con la contención de estilo de subproceso libre. Es decir, las interfaces IEnumFORMATETC e IBindStatusCallback del cliente solo se llaman en sus subprocesos adecuados. Esta característica es transparente para el usuario de la dirección URL mMoniker siempre que cada subproceso que llame a IMoniker::BindToStorage e IMoniker::BindToObject tenga una cola de mensajes.

La especificación de moniker asincrónica requiere un control más preciso sobre la priorización y la administración de descargas de las permitidas por WinSock o WinInet. Por lo tanto, un moniker de dirección URL administra todas las descargas de cualquier subproceso del autor de la llamada, usando (como parte de su sincronización) un esquema de prioridad basado en la especificación IBinding .

URL Monikers