Compartilhar via


CComPtrBase::CoCreateInstance

Chamar esse método para criar um objeto da classe associada com uma identificação de classe ou um certo ID do programa

HRESULT CoCreateInstance(
   LPCOLESTR szProgID,
   LPUNKNOWN pUnkOuter = NULL,
   DWORD dwClsContext = CLSCTX_ALL 
) throw( );
HRESULT CoCreateInstance(
   REFCLSID rclsid,
   LPUNKNOWN pUnkOuter = NULL,
   DWORD dwClsContext = CLSCTX_ALL 
) throw( );

Parâmetros

  • szProgID
    Ponteiro para ProgID, usado para recuperar o CLSID.

  • pUnkOuter
    Se NULO, indica que o objeto não está sendo criado como parte de uma agregação.Se nãoNULO, é um ponteiro para a interface de IUnknown do objeto aggregate ( IUnknownde controle).

  • dwClsContext
    Contexto no qual o código que gerencia o objeto criado será executado.

  • rclsid
    CLSID associada a dados e o código que serão usados para criar o objeto.

Valor de retorno

Retorna S_OK em êxito, ou REGDB_E_CLASSNOTREG, CLASS_E_NOAGGREGATION, CO_E_CLASSSTRING ou E_NOINTERFACE em caso de falha.Consulte CoCreateClassInstance e CLSIDFromProgID para obter uma descrição de esses erros.

Comentários

Se o primeiro formulário do método é chamado, CLSIDFromProgID é usado para recuperar o CLSID.Ambos os formulários em seguida CoCreateClassInstance.

Em compilações de depuração, um erro ocorrerá se CComPtrBase::p de declaração não é igual ao NULL.

Requisitos

Cabeçalho: atlcomcli.h

Consulte também

Referência

Classe de CComPtrBase