Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O assíncrono API WinInet (usado para os protocolos mais comuns) deixa a sincronização do mecanismo de retorno de chamada e do aplicativo de chamada como um exercício para o cliente. Isto é intencional porque permite o maior grau de flexibilidade. Os protocolos padrão e a implementação do moniker de URL executam essa sincronização e garantem que os aplicativos single-threaded e apartment-threaded nunca tenham que lidar com contenção no estilo free-thread. Ou seja, o do cliente IEnumFORMATETC e interfaces de IBindStatusCallback são chamados apenas em seus threads adequados. Esse recurso é transparente para o usuário do URL mMoniker, desde que cada thread que chama IMoniker::BindToStorage e IMoniker::BindToObject tenha uma fila de mensagens.
A especificação de moniker assíncrono requer um controle mais preciso sobre a priorização e o gerenciamento de downloads do que o permitido pelo WinSock ou WinInet. Assim, um moniker de URL gerencia todos os downloads para qualquer thread de chamador, usando (como parte de sua sincronização) um esquema de prioridade baseado na especificação deIBinding.
Tópicos relacionados