ID2D1Properties-Schnittstelle (d2d1_1.h)

Stellt einen Satz von bindbaren und auffindbaren Laufzeiteigenschaften dar, die es einer datengesteuerten Anwendung ermöglichen, den Zustand eines Direct2D-Effekts zu ändern.

Vererbung

Die ID2D1Properties-Schnittstelle erbt von der IUnknown-Schnittstelle . ID2D1Properties verfügt auch über folgende Membertypen:

Methoden

Die ID2D1Properties-Schnittstelle verfügt über diese Methoden.

 
ID2D1Properties::GetPropertyCount

Ruft die Anzahl der Eigenschaften der obersten Ebene ab.
ID2D1Properties::GetPropertyIndex

Ruft den Index ab, der dem angegebenen Eigenschaftsnamen entspricht.
ID2D1Properties::GetPropertyName

Ruft den Eigenschaftennamen ab, der dem angegebenen Index entspricht. Dies ist eine Vorlagenüberladung. Siehe Hinweise.
ID2D1Properties::GetPropertyName

Ruft den Eigenschaftennamen ab, der dem angegebenen Index entspricht.
ID2D1Properties::GetPropertyNameLength

Ruft die Anzahl der Zeichen für den angegebenen Eigenschaftennamen ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise.
ID2D1Properties::GetPropertyNameLength

Ruft die Anzahl der Zeichen für den angegebenen Eigenschaftennamen ab.
ID2D1Properties::GetSubProperties

Ruft die Untereigenschaften der bereitgestellten Eigenschaft nach Index ab. Dies ist eine Vorlagenüberladung.
ID2D1Properties::GetSubProperties

Ruft die Untereigenschaften der bereitgestellten Eigenschaft nach Index ab.
ID2D1Properties::GetType

Ruft den D2D1_PROPERTY_TYPE der ausgewählten Eigenschaft ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise.
ID2D1Properties::GetType

Ruft den D2D1_PROPERTY_TYPE der ausgewählten Eigenschaft ab.
ID2D1Properties::GetValue

Ruft den Wert der Eigenschaft nach Index ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise. (Überladung 1/2)
ID2D1Properties::GetValue

Ruft den Wert der angegebenen Eigenschaft nach Index ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise.
ID2D1Properties::GetValue

Ruft den Wert der Eigenschaft nach Index ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise. (Überladung 2/2)
ID2D1Properties::GetValue

Ruft den Wert der angegebenen Eigenschaft nach Index ab. (Überladung 1/2)
ID2D1Properties::GetValue

Ruft den Wert der angegebenen Eigenschaft nach Index ab. (Überladung 2/2)
ID2D1Properties::GetValueByName

Ruft den Eigenschaftswert anhand des Namens ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise. (Überladung 2/2)
ID2D1Properties::GetValueByName

Ruft den Eigenschaftswert anhand des Namens ab. (Überladung 2/2)
ID2D1Properties::GetValueByName

Ruft den Eigenschaftswert anhand des Namens ab. (Überladung 1/2)
ID2D1Properties::GetValueByName

Ruft den Eigenschaftswert anhand des Namens ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise. (Überladung 1/2)
ID2D1Properties::GetValueSize

Ruft die Größe des Eigenschaftswerts in Bytes unter Verwendung des Eigenschaftenindexes ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise.
ID2D1Properties::GetValueSize

Ruft die Größe des Eigenschaftswerts in Bytes unter Verwendung des Eigenschaftenindexes ab.
ID2D1Properties::SetValue

Legt die entsprechende Eigenschaft nach Index fest. Dies ist eine Vorlagenüberladung. (Überladung 2/2)
ID2D1Properties::SetValue

Legt die entsprechende Eigenschaft nach Index fest. Dies ist eine Vorlagenüberladung. (Überladung 1/2)
ID2D1Properties::SetValue

Legt die entsprechende Eigenschaft nach Index fest. (Überladung 1/2)
ID2D1Properties::SetValue

Legt die entsprechende Eigenschaft nach Index fest. (Überladung 2/2)
ID2D1Properties::SetValueByName

Legt die benannte Eigenschaft auf den angegebenen Wert fest. (Überladung 1/2)
ID2D1Properties::SetValueByName

Legt die benannte Eigenschaft auf den angegebenen Wert fest. Dies ist eine Vorlagenüberladung. Siehe Hinweise.
ID2D1Properties::SetValueByName

Legt die benannte Eigenschaft auf den angegebenen Wert fest. (Überladung 2/2)

Hinweise

Diese Schnittstelle unterstützt den Zugriff entweder über Indizes oder Eigenschaftennamen. Zusätzlich zu den Eigenschaften der obersten Ebene kann jede Eigenschaft in einem ID2D1Properties-Objekt ein ID2D1Properties-Objekt enthalten, in dem Metadaten gespeichert werden, die die übergeordnete Eigenschaft beschreiben.

Übersicht

Die ID2D1Properties-Schnittstelle macht eine Reihe von laufzeitbindungsfähigen und auffindbaren Eigenschaften verfügbar, die es einer datengesteuerten Anwendung wie einem Effektdiagrammerstellungstool oder einem Animationssystem ermöglichen, den Zustand eines Direct2D-Effekts zu ändern.

Die Schnittstelle unterstützt den Zugriff über Indizes oder Eigenschaftennamen. Zusätzlich zu den Eigenschaften der obersten Ebene kann jede Eigenschaft in einer ID2D1Properties eine Sub-ID2D1Properties-Schnittstelle enthalten, in der Metadaten gespeichert werden, die die übergeordnete Eigenschaft beschreiben. Auf Untereigenschaften wird zugegriffen, indem Sie diese Unterschnittstelle nach Eigenschaftenindex anfordern oder eine durch einen Punkt (.) getrennte Eigenschaftennamenzeichenfolge verwenden.

Die Schnittstelle ist absichtlich so konzipiert, dass Abhängigkeiten auf Laufzeitbasis vermieden werden. Die gesamte Zuordnung erfolgt durch den Aufrufer der API, und variant-Typen werden nicht verwendet. Die Eigenschaftenschnittstelle ist im Allgemeinen so konzipiert, dass keine Fehler zurückgegeben werden, bei denen die Anwendung ihre Aufrufsequenz trivial ändern könnte, um die Bedingung zu vermeiden. Da beispielsweise die Anzahl der von der instance unterstützten Eigenschaften von der GetPropertyCount-Methode zurückgegeben wird, geben andere Methoden, die einen Eigenschaftenindex annehmen, keinen Fehler zurück, es sei denn, sie verwenden auch das Eigenschaftensystem des Plug-In-Effekts.

Die Schnittstelle basiert in erster Linie auf einem indexbasierten Zugriffsmodell und unterstützt geschachtelte Untereigenschaften in Eigenschaften. Im Gegensatz zu einer Verzeichnisstruktur verfügt die Eigenschaft selbst über einen Wert und einen Typ und unterstützt optional Untereigenschaften (Verzeichnisse sind keine Dateien). Dies sind normalerweise Metadaten, die die Eigenschaft beschreiben, aber dies wird auch verwendet, um Arrays von Objekten anzugeben. Um den Zugriff auf Untereigenschaften zu vereinfachen und den namenbasierten Zugriff zu ermöglichen, werden zwei Hilfsmethoden – GetValueByName – definiert. Diese verwenden eine "gepunktete" Notation, um die direkte Angabe von Untereigenschaften zu ermöglichen, z. B.:

alphaMode = pEffect->GetValueByName<UINT32>(L"Inputs.0.AlphaMode");

Oder:

pEffect->SetValueByName<UINT32>(
		    L"Inputs.0.AlphaMode", 
		    DXGI_ALPHA_MODE_PREMULTIPLIED);
		

Standardeffekteigenschaften

Eigenschaftsname/Index Eigenschaftstyp Eigenschaftenbeschreibung
CLSID/D2D1_PROPERTY_CLSID D2D1_PROPERTY_TYPE_CLSID Die CLSID des Effekts.
DisplayName/D2D1_PROPERTY_DISPLAYNAME D2D1_PROPERTY_TYPE_STRING Ein anzeigebarer, lokalisierter Name für den Effekt.
Autor/D2D1_PROPERTY_AUTHOR D2D1_PROPERTY_TYPE_STRING Der Autor des Effekts.
Kategorie/D2D1_PROPERTY_CATEGORY D2D1_PROPERTY_TYPE_STRING Die Kategorie des Effekts.
Beschreibung /D2D1_PROPERTY_DESCRIPTION D2D1_PROPERTY_TYPE_STRING Eine Beschreibung des Effekts.
Eingaben/D2D1_PROPERTY_INPUTS D2D1_PROPERTY_TYPE_ARRAY
Hinweis Elemente dieses Arrays sind vom Typ D2D1_PROPERTY_TYPE_STRING.
 
Ein Array von Namen für die Eingaben des Effekts. Jedes Element des Arrays ist eine lokalisierte Zeichenfolge, die den Namen einer Eingabe angibt.
 

Standard Sub-Properties

Im Folgenden sind standardmäßige Untereigenschaften aufgeführt, die für den Metadatenzugriff verwendet werden können und möglicherweise sowohl für Systemeigenschaften als auch für benutzerdefinierte Eigenschaften verfügbar sind. Weitere Informationen finden Sie in den D2D1_SUBPROPERTY - und D2D1_PROPERTY_TYPE-Enumerationen .
Eigenschaftsname/Index Eigenschaftstyp Eigenschaftenbeschreibung
DisplayName/D2D1_SUBPROPERTY_DISPLAYNAME D2D1_PROPERTY_TYPE_STRING Ein anzeigebarer, lokalisierter Name für die übergeordnete Eigenschaft.

Diese Untereigenschaft ist in allen Eigenschaften der obersten Ebene vorhanden.

IsReadOnly/D2D1_SUBPROPERTY_ISREADONLY D2D1_PROPERTY_TYPE_BOOL Ein Wert, der angibt, ob die übergeordnete Eigenschaft geschrieben werden kann.

Diese Untereigenschaft ist in allen Eigenschaften der obersten Ebene vorhanden.

Standard/D2D1_SUBPROPERTY_DEFAULT Identisch mit der übergeordneten Eigenschaft. Der Standardwert für die Eigenschaft.

Diese Untereigenschaft ist optional für alle Eigenschaften vorhanden.

Min/D2D1_SUBPROPERTY_MIN Identisch mit der übergeordneten Eigenschaft.
Hinweis Gilt nur für numerische Eigenschaften.
 
Der Mindestwert, auf den die übergeordnete Eigenschaft festgelegt wird.
Max/ D2D1_SUBPROPERTY_MAX Identisch mit der übergeordneten Eigenschaft.
Hinweis Gilt nur für numerische Eigenschaften.
 
Der maximale Wert, auf den die übergeordnete Eigenschaft festgelegt wird.
Felder/D2D1_SUBPROPERTY_FIELDS Array/D2D1_PROPERTY_TYPE_ARRAY
Hinweis Gilt nur, wenn die übergeordnete Eigenschaft vom Typ Enum ist.
 
Der Satz von gültigen Werten, die auf die übergeordnete Eigenschaft festgelegt werden können.

Jeder Wert in diesem Array ist ein Name-Index-Paar. Die Indizes können auf das übergeordnete Element festgelegt werden, und die Namen sind lokalisierte Werte für die Nutzung durch die Benutzeroberfläche. Im folgenden Abschnitt finden Sie weitere Details.

 

Arraytyp-Sub-Properties

Weitere Informationen finden Sie unter ID2D1Properties::GetType und D2D1_PROPERTY_TYPE . Wenn der Eigenschaftstyp D2D1_PROPERTY_TYPE_ARRAY ist, wird der Wert der Eigenschaft als UINT mit der Anzahl der Arrayelemente betrachtet. Die nächste Untereigenschaft zuordnen den Index direkt dem angeforderten Eigenschaftswert. Beispiel:
Inputs: UINT32 – 2
		Inputs.0 : <Type> – First input
		Inputs.1 : <Type> – Second input
		

Im obigen Beispiel werden die folgenden Untereigenschaften verwendet, die in eigenschaften vom TYP ARRAY angezeigt werden. Beachten Sie, dass die nummerierten Eigenschaften keine Systemeigenschaften sind und sich im normalen Bereich (0x0 – 0x80000000) befinden.

Eigenschaftenname Eigenschaftenindex Eigenschaftenbeschreibung
Property.0 0 Erstes Element des Eigenschaftenarrays.
... ... ...
Property.N N Nth-Element des Eigenschaftenarrays.
 

Der Typ jedes Unterelements ist unabhängig vom Typ des Arrays. Im obigen Beispiel war dies ein Array von Zeichenfolgen.

Enum-Type Sub-Properties

Wenn die Eigenschaft den Typ D2D1_PROPERTY_TYPE_ENUM hat, hat die Eigenschaft den Wert der entsprechenden Enumeration. Es gibt ein Unterarray von Feldern, die den allgemeinen Regeln für Arrayuntereigenschaften entsprechen und aus den Namen-Wert-Paaren bestehen. Beispiel:
PixelFormat: ENUM – The pixel format value
		PixelFormat.Fields: UINT32 – The number of fields
		PixelFormat.Fields.0:String – The name of the first enum
		PixelFormat.Fields.0.Index: UINT32 – The value of the enumeration.
		

Im obigen Beispiel werden die folgenden Untereigenschaften verwendet. Weitere Informationen finden Sie in den D2D1_SUBPROPERTY - und D2D1_PROPERTY_TYPE-Enumerationen .

Eigenschaftenname Eigenschaftenindex Eigenschaftenbeschreibung
Property.Fields D2D1_SUBPROPERTY_FIELDS Eine Arraytypeigenschaft, die Informationen zu jedem Feld in der Enumeration bereitstellt.
Property.Fields.N N Ein Arrayelement, das den Namen des N-tenEnumerationswerts angibt.
Property.Fields.N.Index D2D1_SUBPROPERTY_INDEX Der Index, der dem N-tenEnumerationswert entspricht.

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

Weitere Informationen

ID2D1Effect

IUnknown