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>
자식 요소
요소 | Type | Description |
---|---|---|
데이터 | DataDefinitionType | 구조체에 포함할 데이터 항목을 정의합니다. |
특성
이름 | 형식 | 설명 |
---|---|---|
개수 | CountType | 구조체 배열의 요소 수입니다. 이 특성은 구조체가 구조체의 배열을 정의하고 있음을 나타냅니다. 개수를 포함하는 구조 외부의 데이터 항목의 실제 개수 또는 이름을 지정할 수 있습니다. |
length | LengthType | 사용할 수 없습니다. Windows Server 2008 및 Windows Vista: 이 구조체의 길이(바이트)입니다. Windows 7부터 사용할 수 없습니다. |
name | 문자열 | 구조체의 이름입니다. 템플릿에서 UserData 섹션을 지정하는 경우 이름을 사용하여 XML 조각의 데이터 항목을 참조할 수 있습니다. Windows Vista: 이 특성은 선택 사항입니다. |
설명
공급자는 구조체의 개별 멤버가 아닌 Blob으로 구조를 작성합니다. 작성하는 C 구조에 포인터(예: LPWSTR 형식의 포인터)가 포함된 경우 이벤트 데이터에 역참조된 데이터가 아닌 포인터 값이 포함됩니다.
구조를 사용하면 안 되지만 대신 각 멤버에 대한 데이터 항목을 정의하고 별도로 작성해야 합니다. 구조체를 사용하기로 결정한 경우 구조체에는 정수 형식만 포함되어야 하며 구조체의 멤버가 8 바이트 경계에 맞춰야 합니다. 그렇지 않으면 데이터에 액세스하려고 할 때 맞춤 오류가 발생할 수 있습니다. #pragma pack() 지시문을 사용하여 8 바이트 경계에서 강제로 정렬하는 것이 좋습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 |
Windows Server 2008 [데스크톱 앱만 해당] |