Compartilhar via


CoRegisterClassObject

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função registra um objeto classe EXE com OLE para que outros aplicativos possam conectar a ele. Aplicativos objeto EXE devem chamar CoRegisterClassObject na inicialização. Ele também pode ser usado para registrar interno objetos para uso com o mesmo exe ou outro codificar (such as DLLs) que usa o EXE.

Syntax

STDAPI CoRegisterClassObject(
  REFCLSID rclsid,
  IUnknown* pUnk,
  DWORD dwClsContext,
  DWORD flags,
  LPDWORD lpdwRegister
);

Parameters

  • rclsid
    [no] CLSID a ser registrado.
  • pUnk
    [no] Ponteiro para o IUnknowninterface no objeto de classe cuja disponibilidade está sendo publicada.
  • dwClsContext
    [no] Contexto no qual a codificar executável é ser executar. Para obter informações sobre esses valores contexto, consulte o CLSCTX enumeração.
  • Sinalizadores
    [no] Como as conexões são feitas para o objeto classe. Para obter informações sobre esses sinalizadores, consulte o REGCLS enumeração.
  • lpdwRegister
    [out] Ponteiro para um valor que identifica o objeto classe registrado; Mais tarde usado pelo CoRevokeClassObject função para revogar o registro.

Return Value

O padrão oferece suporte a essa função retornar valores E_INVALIDARG, E_OUTOFMEMORY e E_UNEXPECTED, bem como o seguinte:

  • S_OK
    O objeto classe foi registrado com êxito.
  • CO_E_OBJISREG
    Já registrado na tabela objeto de classe.

Remarks

Somente chamar aplicativos objeto EXE CoRegisterClassObject. Identificadores de objeto ou aplicativos objeto DLL não chamar esta função — em vez disso, eles devem implementar e exportar o DllGetClassObject função.

Na inicialização, um aplicativo objeto EXE Multiple-use deve criar um objeto classe (com o IClassFactory interface nele) e chamar CoRegisterClassObject Para registrar o objeto classe. Objeto aplicativos que suporte várias classes diferentes (such as múltiplo tipos de objetos Embeddable) deve alocar e registrar um objeto classe diferente para cada.

Vários registros do mesmo objeto classe são independentes e não gerar um erro. Cada registro subseqüente gera um chave exclusiva in lpdwRegister.

Vários aplicativos interface (MDI) documento devem registrar seus objetos classe. Documento única interface (SDI) aplicativos devem registrar sua classe objetos somente se eles podem ser iniciados by means of a alternar /Embedding.

O servidor para um objeto classe deve chamar CoRevokeClassObject Para revogar o objeto classe (remover o registro) quando todas as seguinte forem verdadeiras:

  • Existem Há instâncias existentes de definição de objeto.
  • Existem Há bloqueios no objeto de classe.
  • Os serviços fornecendo aplicativo para o objeto classe não está sob controle usuário (não visível para o usuário sobre a exibir).

Após o objeto classe for revogado, quando seu contagem de referência atingir zero, o objeto classe pode ser lançado, permitindo que o aplicativo para sair.

Para informações sobre o Sinalizadores parâmetro, referir para o REGCLS enumeração.

Para determinar se a plataforma oferece suporte a essa função, consulte Determinando suporte COM APIs.

Requirements

Header objbase.h
Library ole32.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

COM Functions
CoGetClassObject