CoRegisterClassObject
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 |