IRunningObjectTable
9/8/2008
Essa interface gerencia acessar para o Running Object Table (ROT), um globalmente acessível tabela de Pesquisa em cada estação de trabalho. Controlar mantém ROT do estação de trabalho desses objetos que pode ser identificado por um moniker e que estão atualmente execução sobre o estação de trabalho.
Quando um cliente tenta BIND um moniker para um objeto, o moniker verifica o ROT para verificar se o objeto é já execução; Isso permite que o moniker para BIND para a atual instância instead of carregar um novo nome.
O ROT contém entradas da forma mostrada o seguinte exemplo de código.
(pmkObjectName, pUnkObject)
O pmkObjectName elemento é um ponteiro para o moniker que identifica a execução objeto. O pUnkObject elemento é um ponteiro para a execução objeto próprio. Durante o processo ligação, monikers consultar o pmkObjectName entradas na tabela de objeto em execução para verificar se um objeto é já execução.
Objetos que podem ser nomeado por identificadores de origem deve ser registrados com o ROT quando eles são carregados e seu registro deve ser revogado quando eles não são mais execução.
Quando a implementar
Não é necessário para implementar essa interface. O sistema fornece uma implementação de Running Object TABLE que é adequado para todas as situações.
Quando usar
Você geralmente uso o ROT se tiver um provedor moniker (ou seja, você mão fora monikers identificando os objetos para torná-los acessível a outras pessoas) ou se você estiver escrevendo seu próprio classe moniker (isto é, Implementando o IMoniker interface).
Se você for um provedor moniker, você registrar seus objetos com o ROT quando eles começarem execução e revogar seus registros quando eles estiverem deixa de execução. Isso permite que os identificadores de origem que você mão sem ser ligado para execução objetos.
Você também deve usar o ROT para registro Último modificação tempo do objeto a. Você pode get um IRunningObjectTable ponteiro interface para o local ROT, chamado de GetRunningObjectTable função.
The most comum tipo de provedor moniker é um compostos-origem link documento. Isso inclui aplicativos servidor que suporte vinculação a seus documentos (ou partes de um documento) e aplicativos contêiner que suporte vinculação a embeddings dentro de seus documentos.
Aplicativos de servidor que não podem de vinculação não suporte também utilizar o ROT Para cooperar com aplicativos contêiner que suporte vinculação a embeddings.
Se você estiver escrevendo seu próprio classe moniker, você usar o ROT para determinar se um objeto é execução e para recuperar último modificação tempo do objeto.
Você pode get um IRunningObjectTable ponteiro interface para o local ROT, chamado de IBindCtx::GetRunningObjectTable método no contexto de BIND para a atual operação ligação.
Moniker implementações sempre devem usar o contexto BIND para adquirir um ponteiro para o ROT; Isso permite que futuras implementações de IBindCtx Para modificar o comportamento ligação.
Você deve implementar o IROTData interface em sua classe moniker em ordem para permitir suas monikers sejam registrados com o ROT.
Métodos na ordem TabelaV
Método IUnknown | Descrição |
---|---|
Retorna os ponteiros para com suporte interfaces. |
|
Incrementa a contagem de referência. |
|
Diminui o contagem de referência. |
Método | Descrição |
---|---|
Registra um objeto com o ROT. |
|
Revoga registro de um objeto com o ROT. |
|
Verifica se um objeto é execução. |
|
Retorna um ponteiro para um objeto fornecido o moniker. |
|
Notifica o ROT que um objeto foi alterado. |
|
Retorna o tempo que um objeto foi alterado pela última vez. |
|
Retorna um enumerador para a ROT. |
Remarks
Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.
Requisitos
Header | objidl.h, objidl.idl |
Library | ole32.lib, uuid.lib |
Windows Embedded CE | Windows CE 3.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |