EventDefinitionType 複雜類型
定義提供者可以寫入的事件。
<xs:complexType name="EventDefinitionType">
<xs:simpleContent>
<xs:extension
base="string"
>
<xs:attribute name="value"
type="UInt32Type"
use="required"
/>
<xs:attribute name="level"
type="QName"
use="optional"
/>
<xs:attribute name="template"
type="token"
use="optional"
/>
<xs:attribute name="channel"
type="token"
use="optional"
/>
<xs:attribute name="keywords"
type="QNameList"
use="optional"
/>
<xs:attribute name="task"
type="QName"
use="optional"
/>
<xs:attribute name="opcode"
type="QName"
use="optional"
/>
<xs:attribute name="symbol"
type="CSymbolType"
use="optional"
/>
<xs:attribute name="version"
type="unsignedByte"
use="optional"
/>
<xs:attribute name="message"
type="strTableRef"
use="optional"
/>
<xs:attribute name="notLogged"
type="boolean"
use="optional"
default="false"
/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
屬性
名称 | 類型 | 描述 |
---|---|---|
通道 | token | 識別寫入事件之通道的識別碼。 指定您定義或匯入之其中一個通道的通道識別碼。 如果通道未指定通道識別碼,請使用通道的名稱。 如需定義或匯入通道的詳細資訊,請參閱 ChannelListType 複雜類型。 如果您未指定通道,事件就不會寫入通道。 通常,不指定通道的唯一原因是您只將事件寫入 ETW 會話。 如需詳細資訊,請參閱建立 ETW 會話,請參閱 控制事件追蹤會話。 |
關鍵字 | QNameList | 以空格分隔的關鍵字名稱清單,可識別此事件所屬的事件類別。 從您定義的關鍵字清單中指定關鍵字名稱。 如需定義關鍵字的詳細資訊,請參閱 KeywordType 複雜類型。 如果您未指定關鍵字,則事件描述元會包含關鍵字的零。 |
等級 | QName | 寫入事件時要使用的詳細資訊層級。 指定您在資訊清單中定義的層級名稱,或 Windows SDK 所包含之\Include\Winmeta.xml檔案中所定義的其中一個層級名稱。 如需定義層級的詳細資訊,請參閱 LevelType 複雜類型。 如果您未指定層級,事件描述元將會包含層級的零。 如果寫入事件的通道類型管理員,您必須指定層級;層級必須是Winmeata.xml中定義的下列其中一個層級:
|
message | strTableRef | 事件的當地語系化訊息。 訊息字串會參考資訊清單之 stringTable 區段中的當地語系化字串。 如果寫入事件的通道類型管理員,您必須指定訊息。 |
notLogged | boolean | 判斷提供者是否記錄此事件。 如果提供者記錄此事件,請指定 true;否則為 false。 使用這個屬性來表示提供者不再記錄此事件,而不是從資訊清單中移除事件。 將事件保留在資訊清單中,可讓取用者解碼包含事件的舊版 etl 檔案。 Windows Server 2008 和 Windows Vista: 在 Windows 7 版 Windows SDK 之前隨附的訊息編譯器版本中,不支援這個屬性。 |
opcode | QName | 識別工作內作業的 opcode 名稱。 指定您在資訊清單中定義的 opcode 名稱,或Winmeta.xml中定義的其中一個 opcode。 如需定義 opcode 的詳細資訊,請參閱 OpcodeType 複雜類型。 如果您參考的工作包含工作特定 (本機) opcode,您可以指定其中一個工作特定的 opcode 或提供者層級所定義的 opcode, (全域 opcode) 。 如果您指定全域 opcode,則全域 opcode 的值不能與工作的其中一個本機 opcode 相同。 如果您參考本機 opcode,工作屬性必須參考本機 opcode 所屬的工作。 如果您未指定 opcode,則事件描述元會包含 opcode 的零。 |
符號 | CSymbolType | 用來在應用程式中參考此事件之事件描述元的符號。
訊息編譯器 (MC.exe) 會使用 符號,為編譯器產生的標頭檔中的事件描述元建立常數。 如果您未指定符號,編譯器就會為您產生一個符號。 當您呼叫 EventWrite 函式來寫入事件時,您會使用描述元。 |
工作 (task) | QName | 識別產生此事件之元件或子元件的工作名稱。 指定您在資訊清單中定義的工作名稱。 如需定義工作的詳細資訊,請參閱 TaskType 複雜類型。 如果您未指定工作,事件描述元將會包含零個工作。 |
template | token | 範本的範本識別碼,定義這個事件所包含的資料項目。 指定您在資訊清單中定義的範本識別碼。 如需定義範本的詳細資訊,請參閱 TemplateItemType 複雜類型。 |
value | UInt32Type | 事件識別項。 識別碼在您所定義的事件清單中必須是唯一的。 |
version | unsignedByte | 事件定義的一位元組版本號碼。 |
備註
如果您使用EvtFormatMessage來格式化事件訊息字串 (,或使用事件檢視器來檢視訊息字串) ,則訊息字串可以包含插入字串,以及 Win32 FormatMessage函式支援的任何格式字串。 插入字串限制為 %n 或 %n!s! 例如, (%1) 其中 n 是事件範本中所定義之資料項目的單一參考。 訊息字串也可以包含 %%n 格式的參數插入字串 (,例如 %%4) 。 訊息可包含的插入字串數目上限為 100。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2008 [僅限傳統型應用程式] |