Share via


Komplexer DataDefinitionType-Typ

Definiert ein Datenelement, das In das Ereignis eingeschlossen werden soll.

<xs:complexType name="DataDefinitionType"
    mixed="true"
>
    <xs:simpleContent>
        <xs:extension
            base="string"
        >
            <xs:attribute name="name"
                type="string"
                use="required"
             />
            <xs:attribute name="inType"
                type="QName"
                use="required"
             />
            <xs:attribute name="outType"
                type="QName"
                use="optional"
             />
            <xs:attribute name="map"
                type="string"
                use="optional"
             />
            <xs:attribute name="length"
                type="LengthType"
                use="optional"
             />
            <xs:attribute name="count"
                type="CountType"
                use="optional"
             />
            <xs:anyAttribute
                processContents="lax"
                namespace="##other"
             />
        </xs:extension>
    </xs:simpleContent>
</xs:complexType>

Attributes

Name Typ BESCHREIBUNG
count CountType Die Anzahl der Elemente im Array, wenn das Datenelement ein Array ist. Sie können die tatsächliche Anzahl oder den Namen eines anderen Datenelements angeben, das die Anzahl enthält.
inType QName Der Datentyp für dieses Datenelement. Eine Liste der vordefinierten Eingabedatentypen finden Sie im komplexen InputType-Typ .
length LengthType Die Länge eines Datenelements mit variabler Länge, z. B. eines binären Blobs. Geben Sie für Binärdaten die Länge in Bytes und für Zeichenfolgendaten die Länge in Zeichen an. Sie können die tatsächliche Länge oder den Namen eines anderen Datenelements angeben, das die Länge enthält.
Wenn Sie das length-Attribut verwenden, um eine Zeichenfolge mit fester Länge anzugeben, müssen Sie die Zeichenfolge auf ihre feste Länge auffüllen, sodass das NULL-Abschlusszeichen am Ende vorhanden ist (wenn die Länge z. B. 5 ist, muss die Zeichenfolge "abc" als "abc" aufgefüllt werden. Die Zeichenfolgenlänge muss das NULL-Abschlusszeichen enthalten.
Karte Zeichenfolge Der Name der Namens-/Wertzuordnung, die zum Zuordnen ganzzahliger Werte zu Zeichenfolgen verwendet werden soll. Der Datentyp des Datenelements muss einen der folgenden Typen aufweisen:
  • win:UInt8
  • win:UInt16
  • win:UInt32
name Zeichenfolge Der Name des Datenelements. Sie können den Namen verwenden, um auf dieses Datenelement in Ihrem XML-Fragment zu verweisen, wenn Sie in Ihrer Vorlage einen Abschnitt UserData angeben. Sie können auch auf diesen Namen in einem längen- oder count-Attribut eines anderen Datenelements verweisen, wenn dieses Datenelement seine Länge oder den Count-Wert enthält.
Windows Vista: Dieses Attribut ist optional.
outType QName Der Datentyp, der beim Rendern dieses Datenelements verwendet werden soll. Eine Liste der vordefinierten Ausgabedatentypen finden Sie im komplexen Typ OutputType .
Windows Vista: Der Ausgabetyp wird ignoriert, und der Dienst bestimmt den Typ basierend auf dem Eingabetyp.

Bemerkungen

Für Eingabetypen mit variabler Länge, z. B. binäre Blobs, müssen Sie das length-Attribut verwenden, um die Größe der Daten explizit anzugeben. Geben Sie für Zeichenfolgen das length-Attribut nur an, wenn die Zeichenfolgen eine feste Länge haben.

Beispiele

Im Folgenden sind einige Beispiele für die Datenelementdefinitionen aufgeführt.

<!-- The data item is an 8-bit integer -->
<data name="binaryChar" inType="win:UInt8">
 
<!-- The data item is a single ANSI character -->
<data name="ansiChar" inType="win:UInt8" outtype="xs:string">
 
<!-- The data item is a single Unicode character -->
<data name="unicodeChar" inType="win:UInt16" outtype="xs:string">
 
<!-- The data item is an IP address that is rendered as a dot separated list of interger values -->
<data name="ipAddress" inType="win:UInt32" outtype="win:IPv4">
 
<!-- The data item is a Boolean value -->
<data name="success" inType="win:boolean">
 
<!-- The data item is a null-terminated ANSI string -->
<data name="string" inType="win:AnsiString"> 

<!-- The data item is a fixed length ANSI string -->
<data name="string" inType="win:AnsiString" length="42"> 
 
<!-- The data item is a fixed length array of null-terminated ANSI strings -->
<data name="strings" inType="win:AnsiString" count="20">
 
<!-- The data item is a fixed length array of fixed length ANSI strings -->
<data name="strings" inType="win:AnsiString" length="42" count="20">
 
<!-- The data item is a variable length array of same sized ANSI strings -->
<data name="stringLength" inType="win:UInt16">
<data name="arrayCount" inType="win:Uint16">
<data name="strings" inType="win:AnsiString" length="stringLength" count="arrayCount"> 
 
<!-- For binary data, you must specify the size.
<!-- The data item is a fixed length array of fixed length binary blobs -->
<data name="blobs" inType="win:Binary" length="42" count="20">

<!-- The data item is a fixed length binary blob -->
<data name="blob" inType="win:Binary" length="42">

<!-- The following are illegal binary data definitions -->
<!-- This definition is illegal because no length is specified -->
<data name="blob" inType="win:Binary"> 
 
<!-- This definition is illegal because you cannot determine the length of each binary blob -->
<data name="blob" inType="win:Binary" count="20"> 
 
<!-- The data item is a variable length array of structures. Each structure -->
<!-- contains an array of same sized ANSI strings --> 
<data name="arrayStructCount" inType="win:UInt16">
<struct name="countedStrings" count="arrayStructCount">
      <data name="stringLength" inType="win:UInt16">
      <data name="string" inType="win:AnsiString" length="stringLength">
</struct>
 
<!-- The data item is a time stamp that is rendered in 100ns units -->
<data name="timestamp" inType="win:UInt32" outType="win:ETWTIME">

<!-- The data item is a fixed length array of integers --> 
<data name="integers" inType="win:UInt32" count="20">

<!-- The data item is a variable length array of integers -->
<data name="arrayCount" inType="win:UInt16"> 
<data name="integers" inType="win:UInt32" count="arrayCount"> 

<!-- The following is illegal because you cannot assign a length value to a data type of a known size -->
<data name="integer" inType="win:UInt32" length="42">

Anforderungen

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