CreateFileMoniker-Funktion (objbase.h)

Erstellt einen Dateimoniker basierend auf dem angegebenen Pfad.

Syntax

HRESULT CreateFileMoniker(
  [in]  LPCOLESTR lpszPathName,
  [out] LPMONIKER *ppmk
);

Parameter

[in] lpszPathName

Der Pfad, auf dem dieser Moniker basieren soll.

Dieser Parameter kann einen relativen Pfad, einen UNC-Pfad oder einen Laufwerkbuchstaben-basierten Pfad angeben. Wenn auf einem relativen Pfad basiert, muss der resultierende Moniker auf einen anderen Dateimoniker zusammengesetzt werden, bevor er gebunden werden kann.

[out] ppmk

Die Adresse einer IMoniker*-Zeigervariable, die den Schnittstellenzeiger auf den neuen Dateimoniker empfängt. Bei erfolgreicher Ausführung hat die Funktion AddRef für den Dateimoniker aufgerufen, und der Aufrufer ist für den Aufruf von Release verantwortlich. Wenn ein Fehler auftritt, ist der Wert des Schnittstellenzeigers NULL.

Rückgabewert

Diese Funktion kann den Standardrückgabewert E_OUTOFMEMORY sowie die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Der Moniker wurde erfolgreich erstellt.
MK_E_SYNTAX
In der Syntax des Pfads ist ein Fehler aufgetreten.

Hinweise

CreateFileMoniker erstellt einen Moniker für ein Objekt, das in einer Datei gespeichert ist. Ein Monikeranbieter (ein Objekt, das Moniker für andere Objekte bereitstellt) kann diese Funktion aufrufen, um einen Moniker zu erstellen, um ein dateibasiertes Objekt zu identifizieren, das er steuert, und den Zeiger auf diesen Moniker dann für andere Objekte verfügbar machen. Ein durch einen Dateimoniker identifiziertes Objekt muss auch die IPersistFile-Schnittstelle implementieren, damit sie geladen werden kann, wenn ein Dateimoniker gebunden ist.

Wenn sich jedes Objekt in einer eigenen Datei befindet, wie in einer OLE-Serveranwendung, die nur das Verknüpfen mit dateibasierten Dokumenten in ihrer Gesamtheit unterstützt, sind Dateimoniker der einzige erforderliche Monikertyp. Um Objekte zu identifizieren, die kleiner als eine Datei sind, muss der Monikeranbieter zusätzlich zu Dateimonikern einen anderen Monikertyp (z. B. einen Elementmoniker) verwenden, wodurch ein zusammengesetzter Moniker erstellt wird. Zusammengesetzte Moniker wären in einer OLE-Serveranwendung erforderlich, die das Verknüpfen von Objekten unterstützt, die kleiner als ein Dokument sind (z. B. Abschnitte eines Dokuments oder eingebettete Objekte).

Ein Dateimoniker kann nur rechts von einem anderen Dateimoniker zusammengesetzt werden, wenn der erste Moniker auf einem absoluten Pfad basiert und der andere ein relativer Pfad ist, was zu einem einzelnen Dateimoniker führt, der auf der Kombination der beiden Pfade basiert. Ein Moniker, der rechts von einem anderen Moniker zusammengesetzt ist, muss eine Einschränkung dieses Monikers sein, und der Dateimoniker stellt die größte Speichereinheit dar. Um objekte zu identifizieren, die in einer Datei gespeichert sind, würden Sie andere Monikertypen (in der Regel Elementmoniker) rechts neben einem Dateimoniker erstellen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile objbase.h
Bibliothek Ole32.lib
DLL Ole32.dll
APIs ext-ms-win-com-ole32-l1-1-4 (eingeführt in Windows 10, Version 10.0.14393)

Weitere Informationen

Imoniker