Поделиться через


Сложный тип DataDefinitionType

Определяет элемент данных, который требуется включить в событие.

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

Атрибуты

Имя Тип Описание
count CountType Количество элементов в массиве, если элемент данных является массивом. Можно указать фактическое количество или имя другого элемента данных, содержащего счетчик.
inType QName Тип данных для этого элемента данных. Список стандартных типов входных данных см. в разделе Сложный тип InputType .
length LengthType Длина элемента данных переменной длины, например двоичного большого двоичного объекта. Для двоичных данных укажите длину в байтах, а для строковых данных — длину в символах. Можно указать фактическую длину или имя другого элемента данных, содержащего длину.
Если вы используете атрибут length для указания строки фиксированной длины, необходимо заполнить строку до ее фиксированной длины, допуская символ конца null в конце (например, если длина равна 5, строка "abc" должна быть заполнена как "abc". Длина строки должна содержать символ конца null.
карта строка Имя сопоставления имен и значений, используемых для сопоставления целочисленных значений со строками. Тип данных элемента данных должен иметь один из следующих типов:
  • win:UInt8
  • win:UInt16
  • win:UInt32
name строка Имя элемента данных. Имя можно использовать для ссылки на этот элемент данных в фрагменте XML, если в шаблоне указан раздел UserData . Вы также можете ссылаться на это имя в атрибуте length или count другого элемента данных, если этот элемент данных содержит его значение длины или счетчика.
Windows Vista: Этот атрибут является необязательным.
outType QName Тип данных, используемый при отрисовке этого элемента данных. Список стандартных типов выходных данных см. в разделе Сложный тип OutputType .
Windows Vista: Тип выходных данных игнорируется, и служба определяет тип на основе типа входных данных.

Комментарии

Для входных типов переменной длины, таких как двоичные BLOB-объекты, необходимо использовать атрибут length, чтобы явно указать размер данных. Для строк укажите атрибут length, только если строки имеют фиксированную длину.

Примеры

Ниже приведено несколько примеров определений элементов данных.

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

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2008 [только классические приложения]