Freigeben über


OleRegEnumFormatEtc-Funktion (ole2.h)

Erstellt ein Enumerationsobjekt, das zum Auflisten von Datenformaten verwendet werden kann, die von einem OLE-Objektserver in der Systemregistrierung registriert wurden. Eine Objektanwendung oder ein Objekthandler ruft diese Funktion auf, wenn sie diese Formate auflisten muss. Entwickler benutzerdefinierter DLL-Objektanwendungen verwenden diese Funktion, um das Verhalten des Standardobjekthandlers zu emulieren.

Syntax

HRESULT OleRegEnumFormatEtc(
  [in]  REFCLSID        clsid,
  [in]  DWORD           dwDirection,
  [out] LPENUMFORMATETC *ppenum
);

Parameter

[in] clsid

CLSID der Klasse, deren Formate angefordert werden.

[in] dwDirection

Gibt an, ob Formate aufgelistet werden sollen, die an IDataObject::GetData übergeben werden können, oder Formate, die an IDataObject::SetData übergeben werden können. Mögliche Werte werden der Enumeration DATADIR entnommen.

[out] ppenum

Adresse der IEnumFORMATETC-Zeigervariable , die den Schnittstellenzeiger auf das Enumerationsobjekt empfängt.

Rückgabewert

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

Rückgabecode Beschreibung
E_OUTOFMEMORY
Unzureichender Arbeitsspeicher für den Vorgang.
REGDB_E_CLASSNOTREG
Für das Klassenobjekt ist keine CLSID registriert.
REGDB_E_READREGDB
Fehler beim Lesen der Registrierung.
OLE_E_REGDB_KEY
Der DataFormats/GetSet-Schlüssel fehlt in der Registrierung.

Hinweise

Objektanwendungen können OLE auffordern, ein Enumerationsobjekt für FORMATETC-Strukturen zu erstellen, um unterstützte Datenformate auf zwei Arten aufzulisten. Eine Möglichkeit besteht darin, OleRegEnumFormatEtc aufzurufen. Die andere besteht darin, OLE_S_USEREG als Reaktion auf Aufrufe des Standardobjekthandlers an IDataObject::EnumFormatEtc zurückzugeben. OLE_S_USEREG weist den Standardhandler an, OleRegEnumFormatEtc aufzurufen. Da DLL-Objektanwendungen keine OLE_S_USEREG zurückgeben können, müssen sie OleRegEnumFormatEtc aufrufen, anstatt den Auftrag an den Objekthandler zu delegieren. Mit dem angegebenen IEnumFORMATETC-Zeiger auf das -Objekt können Sie die Methoden des Standard-Enumerationsobjekts aufrufen, um die Enumeration zu erstellen.

Die OleRegEnumFormatEtc-Funktion und ihre untergeordneten Funktionen OleRegGetUserType, OleRegGetMiscStatus und OleRegEnumVerbs bieten Entwicklern benutzerdefinierter DLL-Objektanwendungen eine Möglichkeit, das Verhalten des OLE-Standardobjekthandlers beim Abrufen von Informationen zu Objekten aus der Registrierung zu emulieren. Durch die Verwendung dieser Funktionen vermeiden Sie den erheblichen Aufwand, ihre eigenen zu schreiben, und die Tücken, die mit der direkten Arbeit in der Registrierung verbunden sind. Darüber hinaus erhalten Sie zukünftige Verbesserungen und Optimierungen dieser Funktionen, ohne sie selbst programmieren zu müssen.

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
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

IDataObject::EnumFormatEtc

IEnumFORMATETC