Función CoCreateInstanceFromApp (combaseapi.h)
Crea una instancia de una clase específica en un equipo específico desde un contenedor de aplicaciones.
Sintaxis
HRESULT CoCreateInstanceFromApp(
[in] REFCLSID Clsid,
[in, optional] IUnknown *punkOuter,
[in] DWORD dwClsCtx,
[in, optional] PVOID reserved,
[in] DWORD dwCount,
[in, out] MULTI_QI *pResults
);
Parámetros
[in] Clsid
El CLSID del objeto que se va a crear.
[in, optional] punkOuter
Si este parámetro no es NULL, indica que la instancia se está creando como parte de un agregado, y punkOuter se va a usar como control de IUnknown de la nueva instancia. Actualmente, la agregación no es compatible entre procesos ni entre equipos. Al crear una instancia de un objeto fuera del proceso, se devolverá CLASS_E_NOAGGREGATION si punkOuter no es NULL.
[in] dwClsCtx
Valor de la enumeración CLSCTX .
[in, optional] reserved
Reservado para uso futuro.
[in] dwCount
Número de estructuras en pResults. Este valor debe ser mayor que 0.
[in, out] pResults
Matriz de estructuras de MULTI_QI . Cada estructura tiene tres miembros: el identificador de una interfaz solicitada (pIID), la ubicación para devolver el puntero de interfaz (pItf) y el valor devuelto de la llamada a QueryInterface (hr).
Valor devuelto
Esta función puede devolver el valor devuelto estándar E_INVALIDARG, así como los siguientes valores.
Código devuelto | Descripción |
---|---|
|
Indica que se completó correctamente. |
|
Una clase especificada no está registrada en la base de datos de registro o la clase no se admite en el contenedor de aplicaciones. También puede indicar que el tipo de servidor solicitado en la enumeración CLSCTX no está registrado o los valores de los tipos de servidor del registro están dañados. |
|
Esta clase no se puede crear como parte de un agregado. |
|
Al menos una, pero no todas las interfaces solicitadas en la matriz pResults se recuperaron correctamente. El miembro hr de cada una de las estructuras de MULTI_QI en pResults indica con S_OK o E_NOINTERFACE si se devolvió la interfaz específica. |
|
Ninguna de las interfaces solicitadas en la matriz pResults se recuperó correctamente. |
Comentarios
La función CoCreateInstanceFromApp es la misma que la función CoCreateInstanceEx , con las siguientes diferencias.
- La función CoCreateInstanceFromApp lee registros de clases solo desde contextos de aplicación y desde el subárbol del registro HKLM\SOFTWARE\Classes\CLSID.
- Solo se proporcionan clases integradas que se admiten en el contenedor de aplicaciones. Los intentos de activar clases no admitidas, incluidas todas las clases instaladas por código de terceros, así como muchas clases de Windows, dan como resultado código de error REGDB_E_CLASSNOTREG.
- La función CoCreateInstanceFromApp está disponible para las aplicaciones de la Tienda Windows. Las aplicaciones de escritorio pueden llamar a esta función, pero tienen las mismas restricciones que las aplicaciones de la Tienda Windows.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | combaseapi.h |
Library | Combase.lib |
Archivo DLL | Combase.dll |