Condividi tramite


Tipo complesso StructDefinitionType

Definisce una struttura che include uno o più elementi di dati che si desidera includere con l'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>

Elementi figlio

Elemento Tipo Descrizione
data DataDefinitionType Definisce un elemento di dati che si desidera includere nella struttura.

Attributi

Nome Tipo Descrizione
count CountType Numero di elementi in una matrice di strutture. Questo attributo indica che la struttura definisce una matrice di strutture. È possibile specificare il conteggio effettivo o il nome di un elemento di dati all'esterno della struttura che contiene il conteggio.
length LengthType Non disponibile.
Windows Server 2008 e Windows Vista: Lunghezza di questa struttura, in byte. Non disponibile a partire da Windows 7.
name string Nome della struttura. È possibile usare il nome per fare riferimento all'elemento di dati nel frammento XML se si specifica una sezione UserData nel modello.
Windows Vista: Questo attributo è facoltativo.

Commenti

I provider scrivono la struttura come BLOB e non come singoli membri della struttura. Se la struttura C che si scrive contiene puntatori (ad esempio, un puntatore di tipo LPWSTR), i dati dell'evento conterranno il valore del puntatore, non i dati dereferenziati.

Non è consigliabile usare le strutture, ma definire gli elementi di dati per ogni membro e scriverli separatamente. Se si decide di utilizzare la struttura, la struttura deve contenere solo tipi integrali ed è necessario assicurarsi che i membri della struttura siano allineati a un limite a 8 byte. In caso contrario, è probabile che vengano visualizzati errori di allineamento quando si tenta di accedere ai dati. È consigliabile usare la direttiva #pragma pack() per forzare l'allineamento su un limite a 8 byte.

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista [solo app desktop]
Server minimo supportato
Windows Server 2008 [solo app desktop]