Tipo complexo StructDefinitionType
Define uma estrutura que inclui um ou mais itens de dados que você deseja incluir com o evento.
<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>
Elementos filho
Elemento | Type | Descrição |
---|---|---|
Dados | DataDefinitionType | Define um item de dados que você deseja incluir na estrutura . |
Atributos
Nome | Tipo | Descrição |
---|---|---|
count | CountType | O número de elementos em uma matriz de estruturas. Esse atributo indica que a estrutura está definindo uma matriz de estruturas. Você pode especificar a contagem real ou o nome de um item de dados fora da estrutura que contém a contagem. |
comprimento | LengthType | Não disponível. Windows Server 2008 e Windows Vista: O comprimento dessa estrutura, em bytes. Não disponível a partir do Windows 7. |
name | string | O nome da estrutura. Você pode usar o nome para fazer referência ao item de dados no fragmento XML se especificar uma seção UserData em seu modelo. Windows Vista: Esse atributo é opcional. |
Comentários
Os provedores gravam a estrutura como um blob e não como membros individuais da estrutura. Se a estrutura C que você está escrevendo contiver ponteiros (por exemplo, um ponteiro do tipo LPWSTR), os dados do evento conterão o valor do ponteiro, não os dados desreferenciados.
Você não deve usar estruturas, mas deve definir itens de dados para cada membro e gravá-los separadamente. Se você decidir usar a estrutura, a estrutura deverá conter apenas tipos integrais e você deve garantir que os membros da estrutura se alinhem a um limite de 8 bytes. Se você não fizer isso, provavelmente receberá erros de alinhamento ao tentar acessar os dados. Considere usar a diretiva #pragma pack() para forçar o alinhamento em um limite de 8 bytes.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2008 [somente aplicativos da área de trabalho] |