共用方式為


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 複雜類型。
長度 LengthType 可變長度資料項目的長度,例如二進位 Blob。 若為二進位資料,請以位元組為單位指定長度,並針對字串資料指定長度。 您可以指定實際長度或包含長度的另一個資料項目名稱。
如果您使用 length 屬性來指定固定長度字串,您必須將字串填補到其固定長度,以允許結尾的 null 結束字元字元 (例如,如果長度為 5,則字串 「abc」 必須填補為 「abc」。 字串長度必須包含 Null 結束字元。
map string 用來將整數值對應至字串的名稱/值對應。 資料項目的資料類型必須是下列其中一種類型:
  • win:UInt8
  • win:UInt16
  • win:UInt32
NAME 字串 資料項目的名稱。 如果您在範本中指定 UserData 區段,則可以使用名稱在 XML 片段中參考此資料項目。 如果此資料項目包含其長度或計數值,您也可以在另一個資料項目的長度或計數屬性中參考此名稱。
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 [僅限傳統型應用程式]