Partilhar via


Monikers assíncronos e síncronos

Um cliente de um moniker OLE padrão e síncrono normalmente cria e mantém uma referência ao moniker, bem como o contexto de ligação a ser usado durante a ligação. Os componentes envolvidos no uso de apelidos tradicionais são mostrados no diagrama a seguir.

diagrama que mostra o cliente conectado ao contexto de associação ou a qualquer moniker para o sistema fornecido.

Os clientes normalmente criam monikers padrão chamando funções como CreateFileMoniker, CreateItemMonikerou CreatePointerMoniker ou, porque eles podem ser salvos no armazenamento persistente, por meio OleSaveToStream e OleLoadFromStream. Monikers também podem ser obtidos de um objeto de contêiner chamando o IBindHost::CreateMoniker método. Os clientes criam contextos de ligação chamando a funçãoCreateBindCtx e, em seguida, passam o contexto de ligação para o moniker com chamadas para IMoniker::BindToStorage ou IMoniker::BindToObject.

Conforme mostrado no diagrama a seguir, um cliente de um moniker assíncrono também cria e mantém uma referência ao moniker e ao contexto de ligação a ser usado durante a ligação.

Diagrama que mostra as conexões entre Client-Provided, Monker-Provided e System-Provided.

Para obter um comportamento assíncrono, o cliente implementa a interfaceIBindStatusCallback em um objeto bind-status-callback e chama a funçãoRegisterBindStatusCallback ou a funçãoCreateAsyncBindCtxpara registrar essa interface com o contexto de ligação. O moniker passa um ponteiro para sua interfaceIBinding em uma chamada para o métodoIBindStatusCallback::OnStartBinding. O cliente informa ao moniker assíncrono como ele deseja vincular no retorno da chamada do moniker para método de IBindStatusCallback::GetBindInfo.

Monikers assíncronos