Freigeben über


OleCreate-Funktion (ole.h)

Erstellt ein eingebettetes Objekt, das durch eine CLSID identifiziert wird. Sie verwenden es in der Regel, um das Menüelement zu implementieren, das es dem Endbenutzer ermöglicht, ein neues Objekt einzufügen.

Syntax

OLESTATUS OleCreate(
  LPCSTR        unnamedParam1,
  LPOLECLIENT   unnamedParam2,
  LPCSTR        unnamedParam3,
  LHCLIENTDOC   unnamedParam4,
  LPCSTR        unnamedParam5,
  LPOLEOBJECT   *unnamedParam6,
  OLEOPT_RENDER unnamedParam7,
  OLECLIPFORMAT unnamedParam8
);

Parameter

unnamedParam1

TBD

unnamedParam2

TBD

unnamedParam3

TBD

unnamedParam4

TBD

unnamedParam5

TBD

unnamedParam6

TBD

unnamedParam7

TBD

unnamedParam8

TBD

Rückgabewert

Diese Funktion gibt S_OK nach Erfolg zurück und unterstützt den Standardrückgabewert E_OUTOFMEMORY.

Rückgabecode Beschreibung
E_OUTOFMEMORY
Unzureichender Arbeitsspeicher für den Vorgang.

Hinweise

Die OleCreate-Funktion erstellt ein neues eingebettetes Objekt und wird in der Regel aufgerufen, um das Menüelement Neues Objekt einfügen zu implementieren. Wenn OleCreate zurückgibt, ist das erstellte Objekt leer (enthält keine Daten), es sei denn , renderopt ist OLERENDER_DRAW oder OLERENDER_FORMAT und wird geladen. Container rufen dann in der Regel die OleRun-Funktion oder IOleObject::D oVerb auf, um das Objekt für die anfängliche Bearbeitung anzuzeigen.

Der Parameter rclsid gibt die CLSID des angeforderten Objekts an. CLSIDs registrierter Objekte werden in der Systemregistrierung gespeichert. Wenn ein Anwendungsbenutzer Objekt einfügen auswählt, kann der Benutzer über ein Auswahlfeld den gewünschten Objekttyp aus denen in der Registrierung auswählen. Wenn OleCreate zum Implementieren des Menüelements Objekt einfügen verwendet wird, wird die dem ausgewählten Element zugeordnete CLSID dem rclsid-Parameter von OleCreate zugewiesen.

Der riid-Parameter gibt die Schnittstelle an, die der Client für die Kommunikation mit dem neuen Objekt verwendet. Nach erfolgreicher Rückgabe enthält der ppvObject-Parameter einen Zeiger auf die angeforderte Schnittstelle.

Der Cache des erstellten Objekts enthält Informationen, die eine Darstellung eines enthaltenen Objekts beim Öffnen des Containers ermöglichen. Informationen darüber, was zwischengespeichert werden soll, werden in den Werten renderopt und pFormatetc übergeben. Wenn OleCreate zurückgibt, wird der Cache des erstellten Objekts nicht unbedingt gefüllt. Stattdessen wird der Cache gefüllt, wenn das Objekt zum ersten Mal in den Ausführungszustand wechselt. Der Aufrufer kann nach der Rückgabe von OleCreate und vor der Ausführung des Objekts ein zusätzliches Cachesteuerelement mit einem Aufruf von IOleCache::Cache hinzufügen. Wenn renderopt OLERENDER_DRAW oder OLERENDER_FORMAT ist, erfordert OleCreate , dass das Objekt die IOleCache-Schnittstelle unterstützt. Es gibt keine solche Anforderung für einen anderen Wert von renderopt.

Wenn pClientSite nicht NULL ist, ruft OleCreateIOleObject::SetClientSite über den pClientSite-Zeiger auf. IOleClientSite ist die primäre Schnittstelle, über die ein Objekt Dienste von seinem Container anfordert. Wenn pClientSiteNULL ist, müssen Sie IOleObject::SetClientSite aufrufen, bevor Sie Vorgänge versuchen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ole.h (Ole2.h einschließen)
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

FORMATETC

IOleClientSite

IOleObject

OLERENDER