Compartilhar via


Método ITypeInfo::CreateInstance (oaidl.h)

Cria uma nova instância de um tipo que descreve uma classe de objeto de componente (coclass).

Sintaxe

HRESULT CreateInstance(
  [in]  IUnknown *pUnkOuter,
  [in]  REFIID   riid,
  [out] PVOID    *ppvObj
);

Parâmetros

[in] pUnkOuter

O controlador IUnknown. Se for Null, uma instância autônoma será criada. Se for válido, um objeto de agregação será criado.

[in] riid

Uma ID para a interface que o chamador usará para se comunicar com o objeto resultante.

[out] ppvObj

Uma instância do objeto criado.

Retornar valor

Código de retorno Descrição
S_OK
Êxito.
E_INVALIDARG
Um ou mais dos argumentos não são válidos.
E_OUTOFMEMORY
Memória insuficiente para concluir a operação.
E_NOINTERFACE
O OLE não pôde encontrar uma implementação de uma ou mais interfaces necessárias.
 

Erros adicionais podem ser retornados de GetActiveObject ou CoCreateInstance.

Comentários

Para tipos que descrevem uma classe de objeto de componente (coclass), CreateInstance cria uma nova instância da classe . Normalmente, CreateInstance chama CoCreateInstance com o GUID da descrição do tipo. Para um objeto Application, ele primeiro chama GetActiveObject. Se o aplicativo estiver ativo, GetActiveObject retornará o objeto ativo; caso contrário, se GetActiveObject falhar, CreateInstance chamará CoCreateInstance.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho oaidl.h

Confira também

ITypeInfo