Funzione CoCreateInstanceFromApp (combaseapi.h)
Crea un'istanza di una classe specifica in un computer specifico dall'interno di un contenitore di app.
Sintassi
HRESULT CoCreateInstanceFromApp(
[in] REFCLSID Clsid,
[in, optional] IUnknown *punkOuter,
[in] DWORD dwClsCtx,
[in, optional] PVOID reserved,
[in] DWORD dwCount,
[in, out] MULTI_QI *pResults
);
Parametri
[in] Clsid
CLSID dell'oggetto da creare.
[in, optional] punkOuter
Se questo parametro non NULL indica che l'istanza viene creata come parte di un'aggregazione e punkOuter deve essere usata come controllo della nuova istanza di IUnknown. L'aggregazione non è attualmente supportata tra processi o cross-computer. Quando si crea un'istanza di un oggetto fuori processo, CLASS_E_NOAGGREGATION verrà restituito se punkOuter non è NULL.
[in] dwClsCtx
Valore dell'enumerazione CLSCTX .
[in, optional] reserved
Riservato per utilizzi futuri.
[in] dwCount
Numero di strutture in pResults. Questo valore deve essere maggiore di 0.
[in, out] pResults
Matrice di strutture MULTI_QI . Ogni struttura ha tre membri: l'identificatore per un'interfaccia richiesta (pIID), il percorso per restituire il puntatore dell'interfaccia (pItf) e il valore restituito della chiamata a QueryInterface (hr).
Valore restituito
Questa funzione può restituire il valore restituito standard E_INVALIDARG, nonché i valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Indica l'esito positivo dell'operazione. |
|
Una classe specificata non è registrata nel database di registrazione o la classe non è supportata nel contenitore dell'app. Può anche indicare che il tipo di server richiesto nell'enumerazione CLSCTX non è registrato o i valori per i tipi di server nel Registro di sistema sono danneggiati. |
|
Impossibile creare questa classe come parte di un'aggregazione. |
|
Almeno uno, ma non tutte le interfacce richieste nella matrice pResults sono state recuperate correttamente. Il membro hr di ogni struttura MULTI_QI in pResults indica con S_OK o E_NOINTERFACE se l'interfaccia specifica è stata restituita. |
|
Nessuna delle interfacce richieste nella matrice pResults è stata recuperata correttamente. |
Commenti
La funzione CoCreateInstanceFromApp è la stessa della funzione CoCreateInstanceEx , con le differenze seguenti.
- La funzione CoCreateInstanceFromApp legge le registrazioni delle classi solo dai contesti dell'applicazione e dall'hive del Registro di sistema HKLM\SOFTWARE\Classes\CLSID.
- Vengono fornite solo classi predefinite supportate nel contenitore dell'app. Tenta di attivare classi non supportate, incluse tutte le classi installate dal codice di terze parti e molte classi di Windows, comportano il codice di errore REGDB_E_CLASSNOTREG.
- La funzione CoCreateInstanceFromApp è disponibile per le app di Windows Store. Le applicazioni desktop possono chiamare questa funzione, ma hanno le stesse restrizioni delle app di Windows Store.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2012 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | combaseapi.h |
Libreria | Combase.lib |
DLL | Combase.dll |