Compartir a través de


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

Crea una nueva instancia de un tipo que describe una clase de objeto de componente (coclase).

Sintaxis

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

Parámetros

[in] pUnkOuter

El control IUnknown. Si es Null, se crea una instancia independiente. Si es válido, se crea un objeto agregado.

[in] riid

Identificador de la interfaz que el autor de la llamada usará para comunicarse con el objeto resultante.

[out] ppvObj

Instancia del objeto creado.

Valor devuelto

Código devuelto Descripción
S_OK
Correcto.
E_INVALIDARG
Uno o varios de los argumentos no son válidos.
E_OUTOFMEMORY
Memoria insuficiente para completar la operación.
E_NOINTERFACE
OLE no pudo encontrar una implementación de una o varias interfaces necesarias.
 

Se pueden devolver errores adicionales de GetActiveObject o CoCreateInstance.

Comentarios

Para los tipos que describen una clase de objeto de componente (coclass), CreateInstance crea una nueva instancia de la clase . Normalmente, CreateInstance llama a CoCreateInstance con el GUID de la descripción del tipo. Para un objeto Application, primero llama a GetActiveObject. Si la aplicación está activa, GetActiveObject devuelve el objeto activo; de lo contrario, si se produce un error en GetActiveObject , CreateInstance llama a CoCreateInstance.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado oaidl.h

Consulte también

Itypeinfo