IMoniker::IsRunning
9/8/2008
Thismethod verifica se o objeto é execução.
Syntax
HRESULT IsRunning(
IBindCtx* pbc,
IMoniker* pmkToLeft,
IMoniker* pmkNewlyRunning
);
Parameters
pbc
[no] Ponteiro para o IBindCtx interface no contexto de BIND a ser usado nessa operação ligação.O contexto BIND caches objetos ligado durante o processo ligação, contém os parâmetros que aplicar a todas as operações usando o contexto BIND e fornece os meios pelos quais a implementação moniker deve recuperar informações sobre seu ambiente.
Para obter mais informações, consulte IBindCtx.
pmkToLeft
[no] Ponteiro para o IMoniker interface no moniker à esquerda deste moniker se este moniker for parte de uma composição.Este parâmetro é usado principalmente pelos Implementers moniker para habilitar cooperação entre os vários componentes de uma composição moniker; Clientes moniker geralmente podem transmitir NULL.
pmkNewlyRunning
[no] Ponteiro para o IMoniker interface no moniker recentemente adicionado à Running Object Table (ROT).Isso pode ser NULL.
Se não-NULL, a implementação pode retornar os resultados de chamado de IMoniker::IsEqual método na pmkNewlyRunning parâmetro, passando o atual moniker.
Este parâmetro destina-se a habilitar IMoniker::IsRunning implementações que são mais eficientes do que a pesquisa apenas o ROT, mas a implementação pode escolher para ignorar pmkNewlyRunning sem causar qualquer dano.
Return Value
O método suporta o padrão valor de retorno E_UNEXPECTED.
A seguinte tabela mostra os adicionais retornam valores para este método.
Valor | Descrição |
---|---|
S_OK |
É o moniker execução. |
S_FALSE |
O moniker não execução. |
Remarks
Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.
Notas para chamadores
Se a velocidade é importante quando você está solicitando serviços a partir de objeto identificado pelo moniker, você pode desejar esses serviços Somente Se o objeto já estiver execução (como carregar um objeto na execução de estado pode ser demorado).
Em tal uma situação, você faria chamar IMoniker::IsRunning Para determinar se o objeto é execução.
Para os identificadores de origem armazenados em objetos vinculados, IMoniker::IsRunning é basicamente chamado pela implementação do manipulador de usar como padrão de IOleLink::BindIfRunning.
Notas para Implementers
Para get um ponteiro para o Running Object Table (ROT), sua implementação deve chamar o IBindCtx::GetRunningObjectTable método na pbc parâmetro.
Sua implementação pode em seguida, chamar o IRunningObjectTable::IsRunning método para determinar se o objeto identificado pelo moniker é execução.
Observe que o objeto identificado pelo moniker precisa registrou próprio com o ROT quando ele primeiro começou execução.
Requirements
Header | objidl.h, objidl.idl |
Library | ole32.lib, uuid.lib |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |