Freigeben über


IPersistFile::Load-Methode (objidl.h)

Öffnet die angegebene Datei, und initialisiert ein Objekt aus dem Dateiinhalt.

Syntax

HRESULT Load(
  [in] LPCOLESTR pszFileName,
  [in] DWORD     dwMode
);

Parameter

[in] pszFileName

Der absolute Pfad der zu öffnenden Datei.

[in] dwMode

Der Zugriffsmodus, der beim Öffnen der Datei verwendet werden soll. Mögliche Werte stammen aus der STGM-Enumeration . Die -Methode kann diesen Wert als Vorschlag behandeln und bei Bedarf restriktivere Berechtigungen hinzufügen. Wenn dwMode 0 ist, sollte die -Implementierung die Datei mit den Standardberechtigungen öffnen, die verwendet werden, wenn ein Benutzer die Datei öffnet.

Rückgabewert

Diese Methode kann die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_OUTOFMEMORY
Das Objekt konnte aufgrund eines Mangels an Arbeitsspeicher nicht geladen werden.
E_FAIL
Das Objekt konnte aus einem anderen Grund nicht geladen werden, außer aus einem mangel an Arbeitsspeicher.

Hinweise

IPersistFile::Load lädt das Objekt aus der angegebenen Datei. Diese Methode dient nur zur Initialisierung und zeigt das Objekt dem Endbenutzer nicht an. Dies entspricht nicht dem, was geschieht, wenn ein Benutzer den Befehl Datei öffnen auswählt.

Hinweise für Anrufer

Die BindToObject-Methode in Dateimonikern ruft diese Methode auf, um ein Objekt während eines Monikerbindungsvorgangs (wenn ein verknüpftes Objekt ausgeführt wird) zu laden. In der Regel rufen Anwendungen diese Methode nicht direkt auf.

Hinweise für Implementierer

Da die zum Öffnen einer Datei erforderlichen Informationen von Anwendung zu Anwendung stark variieren, muss das Objekt, für das diese Methode implementiert ist, auch die vom pszFileName-Parameter angegebene Datei öffnen. Dies unterscheidet sich von IPersistStorage::Load und IPersistStream::Load, in denen der Aufrufer den Speicher oder Stream öffnet und dann einen offenen Speicher- oder Streamzeiger an das geladene Objekt übergibt.

Für eine Anwendung, die normalerweise OLE-Verbunddateien verwendet, kann Ihre IPersistFile::Load-Implementierung einfach die StgOpenStorage-Funktion aufrufen, um das Speicherobjekt in der angegebenen Datei zu öffnen. Anschließend können Sie mit der normalen Initialisierung fortfahren. Anwendungen, die keine Speicherobjekte verwenden, können normale Dateiöffnungsverfahren ausführen.

Wenn das Objekt geladen wurde, sollte Ihre Implementierung das Objekt in der ausgeführten Objekttabelle registrieren (siehe IRunningObjectTable::Register).

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 objidl.h

Weitere Informationen

Ipersistfile