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 |
---|---|
|
Unzureichender Arbeitsspeicher für den Vorgang. |
|
Für das Klassenobjekt ist keine CLSID registriert. |
|
Fehler beim Lesen der Registrierung. |
|
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 |