Função CoCreateInstanceFromApp (combaseapi.h)
Cria uma instância de uma classe específica em um computador específico de dentro de um contêiner de aplicativo.
Sintaxe
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
O CLSID do objeto a ser criado.
[in, optional] punkOuter
Se esse parâmetro não for NULL, indicará que a instância está sendo criada como parte de uma agregação e punkOuter será usado como O IUnknown controlador da nova instância. Atualmente, não há suporte para agregação entre processos ou entre computadores. Ao instanciar um objeto fora do processo, CLASS_E_NOAGGREGATION será retornado se punkOuter não for NULL.
[in] dwClsCtx
Um valor da enumeração CLSCTX .
[in, optional] reserved
Reservado para uso futuro.
[in] dwCount
O número de estruturas em pResults. Esse valor deve ser maior que 0.
[in, out] pResults
Uma matriz de estruturas MULTI_QI . Cada estrutura tem três membros: o identificador de uma interface solicitada (pIID), o local para retornar o ponteiro da interface (pItf) e o valor retornado da chamada para QueryInterface (hr).
Retornar valor
Essa função pode retornar o valor retornado padrão E_INVALIDARG, bem como os valores a seguir.
Código de retorno | Descrição |
---|---|
|
Indica êxito. |
|
Uma classe especificada não está registrada no banco de dados de registro ou a classe não tem suporte no contêiner do aplicativo. Também pode indicar que o tipo de servidor solicitado na enumeração CLSCTX não está registrado ou que os valores dos tipos de servidor no registro estão corrompidos. |
|
Essa classe não pode ser criada como parte de uma agregação. |
|
Pelo menos uma, mas nem todas as interfaces solicitadas na matriz pResults foram recuperadas com êxito. O membro hr de cada uma das estruturas de MULTI_QI em pResults indica com S_OK ou E_NOINTERFACE se a interface específica foi retornada. |
|
Nenhuma das interfaces solicitadas na matriz pResults foi recuperada com êxito. |
Comentários
A função CoCreateInstanceFromApp é igual à função CoCreateInstanceEx , com as seguintes diferenças.
- A função CoCreateInstanceFromApp lê registros de classe somente de contextos de aplicativo e do hive do registro HKLM\SOFTWARE\Classes\CLSID.
- Somente classes internas com suporte no contêiner do aplicativo são fornecidas. Tentativas de ativar classes sem suporte, incluindo todas as classes instaladas por código de terceiros, bem como muitas classes do Windows, resultam em código de erro REGDB_E_CLASSNOTREG.
- A função CoCreateInstanceFromApp está disponível para aplicativos da Windows Store. Os aplicativos da área de trabalho podem chamar essa função, mas têm as mesmas restrições que os aplicativos da Windows Store.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | combaseapi.h |
Biblioteca | Combase.lib |
DLL | Combase.dll |