Share via


OleCreateFromFile-Funktion (ole2.h)

Erstellt ein eingebettetes Objekt aus dem Inhalt einer benannten Datei.

Syntax

HRESULT OleCreateFromFile(
  [in]  REFCLSID        rclsid,
  [in]  LPCOLESTR       lpszFileName,
  [in]  REFIID          riid,
  [in]  DWORD           renderopt,
  [in]  LPFORMATETC     lpFormatEtc,
  [in]  LPOLECLIENTSITE pClientSite,
  [in]  LPSTORAGE       pStg,
  [out] LPVOID          *ppvObj
);

Parameter

[in] rclsid

Dieser Parameter ist reserviert und muss CLSID_NULL sein.

[in] lpszFileName

Zeiger auf eine Zeichenfolge, die den vollständigen Pfad der Datei angibt, aus der das Objekt initialisiert werden soll.

[in] riid

Verweis auf den Bezeichner der Schnittstelle, die der Aufrufer später für die Kommunikation mit dem neuen Objekt verwendet (in der Regel IID_IOleObject, definiert in den OLE-Headern als Schnittstellen-ID von IOleObject).

[in] renderopt

Wert aus der OLERENDER-Enumeration , der die lokal zwischengespeicherten Zeichnungs- oder Datenabruffunktionen angibt, über die das neu erstellte Objekt verfügen soll. Der ausgewählte OLERENDER-Wert wirkt sich auf die möglichen Werte für den lpFormatEtc-Parameter aus.

[in] lpFormatEtc

Je nachdem, welches der OLERENDER-Flags als Wert von renderopt verwendet wird, zeiger auf einen der FORMATETC-Enumerationswerte . Weitere Einschränkungen finden Sie in der OLERENDER-Enumeration .

[in] pClientSite

Zeiger auf eine instance von IOleClientSite, der primären Schnittstelle, über die das Objekt Dienste von seinem Container anfordere. Dieser Parameter kann NULL sein.

[in] pStg

Zeiger auf die IStorage-Schnittstelle für das Speicherobjekt. Dieser Parameter darf nicht NULL sein.

[out] ppvObj

Adresse der Zeigervariablen, die den in riid angeforderten Schnittstellenzeiger empfängt. Nach erfolgreicher Rückgabe enthält *ppvObj den angeforderten Schnittstellenzeiger für das neu erstellte Objekt.

Rückgabewert

Diese Funktion gibt S_OK nach Erfolg zurück. Weitere mögliche Werte sind:

Rückgabecode Beschreibung
STG_E_FILENOTFOUND
Datei nicht gebunden.
OLE_E_CANT_BINDTOSOURCE
Die Bindung an die Quelle ist nicht möglich.
STG_E_MEDIUMFULL
Das Medium ist voll.
DV_E_TYMED
Ungültige TYMED.
DV_E_LINDEX
Ungültige LINDEX.
DV_E_FORMATETC
Ungültige FORMATTC-Struktur .

Hinweise

Die OleCreateFromFile-Funktion erstellt ein neues eingebettetes Objekt aus dem Inhalt einer benannten Datei. Wenn die ProgID in der Registrierungsdatenbank den Schlüssel PackageOnFileDrop enthält, wird ein Paket erstellt. Andernfalls ruft die Funktion GetClassFile auf, um die CLSID abzurufen, die dem parameter lpszFileName zugeordnet ist, und erstellt dann ein eingebettetes OLE 2-Objekt, das dieser CLSID zugeordnet ist. Der rclsid-Parameter von OleCreateFromFile wird immer ignoriert und sollte auf CLSID_NULL festgelegt werden.

Wie bei anderen OleCreateXxx-Funktionen wird dem Benutzer das neu erstellte Objekt nicht zur Bearbeitung angezeigt, was einen DoVerb-Vorgang erfordert. Es wird verwendet, um Dateieinfügungsvorgänge zu implementieren.

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 ole2.h (Ole2.h einschließen)
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

GetClassFile