CComPtrBase::CoCreateInstance

Rufen Sie diese Methode, um ein Objekt der Klasse auf, die mit angegebenen Klassen-ID oder ID zu programmieren zugeordnet ist

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

Parameter

  • szProgID
    Zeiger auf einen ProgID, verwendet, um die CLSID wiederherzustellen.

  • pUnkOuter
    Wenn NULL, angibt, dass das Objekt nicht als Teil eines Aggregats erstellt wird.Wenn Nicht --, ist NULL, ein Zeiger auf die gesamte IUnknown-Schnittstelle des Objekts (steuernde IUnknown).

  • dwClsContext
    Kontext, in den der Code, der verwaltet, das neu erstellte Objekt ausgeführt wird.

  • rclsid
    CLSID zugeordnet mit den Daten und dem Code, die verwendet werden, um das Objekt zu erstellen.

Rückgabewert

EINGABETASTE S_OK bei Erfolg oder REGDB_E_CLASSNOTREG, CLASS_E_NOAGGREGATION, CO_E_CLASSSTRING oder E_NOINTERFACE auf Fehler.Siehe CoCreateClassInstance und CLSIDFromProgID für eine Beschreibung dieser Fehler.

Hinweise

Wenn das erste Form der Methode aufgerufen wird, wird CLSIDFromProgID verwendet, um die CLSID wiederherzustellen.Beide Formulare anschließend CoCreateClassInstance auf.

In Debugbuilds ein Assertionsfehler tritt auf, wenn CComPtrBase::p nicht gleich NULL ist.

Anforderungen

Header: atlcomcli.h

Siehe auch

Referenz

CComPtrBase-Klasse