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

Classe di CComPtrBase