共用方式為


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中定義的下列其中一個層級:
  • win:Critical
  • win:Error
  • win:Warning
  • win:Informational

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 [僅限傳統型應用程式]