Partager via


Type complexe DataDefinitionType

Définit un élément de données que vous souhaitez inclure dans l’événement.

<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>

Attributs

Nom Type Description
count CountType Nombre d’éléments dans le tableau si l’élément de données est un tableau. Vous pouvez spécifier le nombre réel ou le nom d’un autre élément de données qui contient le nombre.
inType QName Type de données pour cet élément de données. Pour obtenir la liste des types de données d’entrée prédéfinis, consultez le type complexe InputType .
length LengthType Longueur d’un élément de données de longueur variable, tel qu’un objet blob binaire. Pour les données binaires, spécifiez la longueur en octets et, pour les données de chaîne, spécifiez la longueur en caractères. Vous pouvez spécifier la longueur réelle ou le nom d’un autre élément de données qui contient la longueur.
Si vous utilisez l’attribut length pour spécifier une chaîne de longueur fixe, vous devez la faire correspondre à sa longueur fixe en autorisant le caractère de fin null à la fin (par exemple, si la longueur est égale à 5, la chaîne « abc » doit être complétée en « abc »). La longueur de chaîne doit inclure le caractère de fin null.
carte string Nom du mappage nom/valeur à utiliser pour mapper des valeurs entières à des chaînes. Le type de données de l’élément de données doit être de l’un des types suivants :
  • win:UInt8
  • win:UInt16
  • win:UInt32
name string Nom de l'élément de données. Vous pouvez utiliser le nom pour référencer cet élément de données dans votre fragment XML si vous spécifiez une section UserData dans votre modèle. Vous pouvez également référencer ce nom dans un attribut length ou count d’un autre élément de données si cet élément de données contient sa longueur ou sa valeur de nombre.
Windows Vista : Cet attribut est facultatif.
outType QName Type de données à utiliser lors du rendu de cet élément de données. Pour obtenir la liste des types de données de sortie prédéfinis, consultez le type complexe OutputType .
Windows Vista : Le type de sortie est ignoré et le service détermine le type en fonction du type d’entrée.

Notes

Pour les types d’entrée de longueur variable, tels que les objets blob binaires, vous devez utiliser l’attribut length pour spécifier explicitement la taille des données. Pour les chaînes, spécifiez l’attribut length uniquement si les chaînes sont d’une longueur fixe.

Exemples

Voici quelques exemples de définitions d’élément de données.

<!-- 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">

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2008 [applications de bureau uniquement]