Share via


Komplexer StructDefinitionType-Typ

Definiert eine Struktur, die ein oder mehrere Datenelemente enthält, die Sie in das Ereignis einschließen möchten.

<xs:complexType name="StructDefinitionType"
    mixed="true"
>
    <xs:sequence>
        <xs:element name="data"
            type="DataDefinitionType"
            maxOccurs="unbounded"
         />
    </xs:sequence>
    <xs:attribute name="name"
        type="string"
        use="required"
     />
    <xs:attribute name="length"
        type="LengthType"
        use="optional"
     />
    <xs:attribute name="count"
        type="CountType"
        use="optional"
     />
    <xs:anyAttribute
        processContents="lax"
        namespace="##other"
     />
</xs:complexType>

Untergeordnete Elemente

Element type BESCHREIBUNG
Daten DataDefinitionType Definiert ein Datenelement, das Sie in die -Struktur einschließen möchten.

Attributes

Name type BESCHREIBUNG
count CountType Die Anzahl der Elemente in einem Array von Strukturen. Dieses Attribut gibt an, dass die Struktur ein Array von Strukturen definiert. Sie können die tatsächliche Anzahl oder den Namen eines Datenelements außerhalb der Struktur angeben, die die Anzahl enthält.
length LengthType Nicht verfügbar.
Windows Server 2008 und Windows Vista: Die Länge dieser Struktur in Bytes. Ab Windows 7 nicht verfügbar.
name Zeichenfolge Der Name der -Struktur. Sie können den Namen verwenden, um auf das Datenelement in Ihrem XML-Fragment zu verweisen, wenn Sie in Ihrer Vorlage einen Abschnitt UserData angeben.
Windows Vista: Dieses Attribut ist optional.

Bemerkungen

Anbieter schreiben die Struktur als Blob und nicht als einzelne Member der Struktur. Wenn die C-Struktur, die Sie schreiben, Zeiger enthält (z. B. einen Zeiger vom Typ LPWSTR), enthalten die Ereignisdaten den Zeigerwert, nicht die abgeleiteten Daten.

Sie sollten keine Strukturen verwenden, sondern stattdessen Datenelemente für jedes Element definieren und separat schreiben. Wenn Sie sich für die Verwendung der Struktur entscheiden, sollte die Struktur nur integrale Typen enthalten, und Sie müssen sicherstellen, dass die Member der Struktur an einer 8-Byte-Grenze ausgerichtet sind. Andernfalls erhalten Sie wahrscheinlich Ausrichtungsfehler, wenn Sie versuchen, auf die Daten zuzugreifen. Erwägen Sie die Verwendung der #pragma pack()-Direktive, um die Ausrichtung an einer 8-Byte-Grenze zu erzwingen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2008 [nur Desktop-Apps]