ID2D1Factory1::RegisterEffectFromString-Methode (d2d1_1.h)

Registriert einen Effekt innerhalb des Factory-instance mit der als Zeichenfolge angegebenen Eigenschafts-XML.

Syntax

HRESULT RegisterEffectFromString(
  [in]           REFCLSID                    classId,
  [in]           PCWSTR                      propertyXml,
  [in, optional] const D2D1_PROPERTY_BINDING *bindings,
                 UINT32                      bindingsCount,
                 const PD2D1_EFFECT_FACTORY  effectFactory
);

Parameter

[in] classId

Typ: REFCLSID

Der Bezeichner des zu registrierenden Effekts.

[in] propertyXml

Typ: PCWSTR

Eine Liste der Effekteigenschaften, -typen und -Metadaten.

[in, optional] bindings

Typ: const D2D1_PROPERTY_BINDING*

Ein Array von Eigenschaften und Methoden.

Dadurch wird eine Eigenschaft anhand des Namens an eine bestimmte Methode gebunden, die vom Effektautor implementiert wird, um die Eigenschaft zu behandeln. Der Name muss in der entsprechenden propertyXml gefunden werden.

bindingsCount

Typ: UINT32

Die Anzahl der Bindungen im Bindungsarray.

effectFactory

Typ: PD2D1_EFFECT_FACTORY

Die statische Factory, die zum Erstellen des entsprechenden Effekts verwendet wird.

Rückgabewert

Typ: HRESULT

Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

HRESULT BESCHREIBUNG
S_OK Kein Fehler ist aufgetreten.
E_OUTOFMEMORY Direct2D konnte nicht genügend Arbeitsspeicher zuweisen, um den Anruf abzuschließen.
E_INVALIDARG Ein ungültiger Parameter wurde an die zurückgebende Funktion übergeben.

Hinweise

Direct2D-Effekte müssen ihre Eigenschaften zum Zeitpunkt der Registrierung über registrierungs-XML definieren. Ein Effekt deklariert mehrere erforderliche Systemeigenschaften und kann auch benutzerdefinierte Eigenschaften deklarieren. Weitere Informationen zum Formatieren des propertyXml-Parameters finden Sie unter Benutzerdefinierte Effekte.

RegisterEffect ist sowohl atomisch als auch verweisgezählt. Um die Registrierung eines Effekts aufzuheben, rufen Sie UnregisterEffect mit der classId des Effekts auf.

WichtigRegisterEffect enthält keinen Verweis auf die DLL oder ausführbare Datei, in der der Effekt enthalten ist. Die Anwendung muss unabhängig davon sicherstellen, dass die Lebensdauer der DLL oder ausführbaren Datei vollständig alle Instanzen der einzelnen registrierten und erstellten Effekte enthält.
 
Abgesehen von den integrierten Effekten , die global registriert sind, registriert diese API Effekte nur für diese Factory und abgeleitete Geräte- und Gerätekontextschnittstellen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 und Plattformupdate für Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile d2d1_1.h
Bibliothek D2d1.lib
DLL D2d1.dll

Weitere Informationen

ID2D1Factory1

ID2D1Factory1::UnregisterEffect