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


Сложный тип StructDefinitionType

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

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

Дочерние элементы

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

Атрибуты

Имя Тип Описание
count CountType Количество элементов в массиве структур. Этот атрибут указывает, что структура определяет массив структур. Вы можете указать фактическое количество или имя элемента данных за пределами структуры, содержащей счетчик.
length LengthType Недоступно.
Windows Server 2008 и Windows Vista: Длина этой структуры в байтах. Недоступно начиная с Windows 7.
name строка Имя структуры. Имя можно использовать для ссылки на элемент данных в фрагменте XML, если в шаблоне указан раздел UserData .
Windows Vista: Этот атрибут является необязательным.

Комментарии

Поставщики записывают структуру как большой двоичный объект, а не как отдельные члены структуры. Если в создаваемой структуре C содержатся указатели (например, указатель типа LPWSTR), данные события будут содержать значение указателя, а не разыменовываемые данные.

Не следует использовать структуры, а определять элементы данных для каждого элемента и записывать их отдельно. Если вы решили использовать структуру, структура должна содержать только целочисленные типы и убедиться, что члены структуры выровнены по 8-байтовой границе. В противном случае при попытке доступа к данным вы, скорее всего, получите ошибки выравнивания. Рассмотрите возможность использования директивы #pragma pack() для принудительного выравнивания на 8-байтовой границе.

Требования

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