Condividi tramite


CComPtrBase::CoCreateInstance

Chiamare questo metodo per creare un oggetto classe associata a un ID di programma o di ID della classe

HRESULT CoCreateInstance( 
   LPCOLESTR szProgID, 
   LPUNKNOWN pUnkOuter = NULL, 
   DWORD dwClsContext = CLSCTX_ALL  
) throw( ); 
HRESULT CoCreateInstance( 
   REFCLSID rclsid, 
   LPUNKNOWN pUnkOuter = NULL, 
   DWORD dwClsContext = CLSCTX_ALL  
) throw( );

Parametri

  • szProgID
    Puntatore a un ProgID, utilizzato per recuperare il CLSID.

  • pUnkOuter
    Se NULL, indica che l'oggetto non viene creato come parte di un'operazione di aggregazione. Se nonNULL, è un puntatore a interfaccia di aggregazione IUnknown dell'oggetto ( IUnknowndi controllo.

  • dwClsContext
    Contesto in cui il codice che gestisce tale oggetto appena creato verrà eseguita.

  • rclsid
    Il CLSID associato ai dati e il codice che saranno utilizzati per creare l'oggetto.

Valore restituito

Restituisce S_OK su positivo, o REGDB_E_CLASSNOTREG, CLASS_E_NOAGGREGATION, CO_E_CLASSSTRING o E_NOINTERFACE in errore. Vedere CoCreateClassInstance e CLSIDFromProgID per una descrizione di questi errori.

Note

Se il primo form del metodo, CLSIDFromProgID viene utilizzato per recuperare il CLSID. Entrambi i form quindi chiamano CoCreateClassInstance.

Nelle build di debug, un errore di asserzione si verificherà se CComPtrBase::p non è uguale a NULL.

Requisiti

Header: atlcomcli.h

Vedere anche

Riferimenti

CComPtrBase Class