INF AddEventProvider 指示詞

AddEventProvider 指示詞用於 INF DDInstall 內。事件區段。 它會指定與驅動程式相關聯的 Windows 事件追蹤 (ETW) 提供者的特性。 Windows 10 1809 版和更新版本支援此指示詞。

[DDInstall.Events] 

AddEventProvider={ProviderGUID},event-provider-install-section
...

項目

ProviderGUID
指定識別提供者的 GUID 值。 這可以表示為表單{nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}的明確 GUID 值,或以 INF 檔案之 Strings 區段中定義的 {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn} %strkey% 令牌表示。

event-provider-install-section
參考 INF 寫入器定義的區段,其中包含註冊此裝置提供者的資訊 (或裝置) 。 如需詳細資訊,請參閱下列一節。

備註

系統定義的和不區分大小寫的延伸模組可以插入 DDInstall中。事件區段,其中包含跨操作系統和/或跨平臺 INF 檔案中的 AddEventProvider 指示詞,以指定平臺特定或 OS 特定的安裝。

每個 INF 寫入器建立的區段名稱在 INF 檔案內必須是唯一的,而且必須遵循定義區段名稱的一般規則。 如需這些規則的詳細資訊,請參閱 INF 檔案的一般語法規則

AddEventProvider 指示詞必須參考 INF 檔案中其他地方的具名 event-provider-install-section。 每個這類區段都有下列形式:

[event-provider-install-section]
 
ProviderName=name
ResourceFile=path-to-file
[MessageFile=path-to-file]
[ParameterFile=path-to-file]
(ImportChannel=channel-name) |
(AddChannel=channel-name,channel-type[,channel-install-section])
...

每個 event-provider-install-section 都必須提供 ProviderNameResourceFile。 選擇性地使用 ImportChannel (s) AddChannel (s) 的任何組合,指定提供者的通道清單,每一行各有一個。 如需 INF 檔案中信道清單的詳細資訊,請參閱下方 的指定通道清單 。 如需 Windows 事件記錄 檔通道的詳細資訊,請參閱 定義通道

Event-Provider-Install 區段專案和值

ProviderName=名字
指定提供者的名稱。 名稱不能超過 255 個字元,而且不能包含字元:''、''、<'>&'、'、'|'、''、':'、'、'、'?'、'*'或 ASCII 值小於 31 的字符。 此外,名稱必須遵循檔案和登錄機碼名稱的一般條件約束。 您可以在 命名檔案登錄專案大小限制中找到這些條件約束。

ResourceFile=path-to-file
指定包含提供者元數據資源的 exe 或 dll 路徑,以 %dirid%\filename 表示。

dirid 編號是自定義目錄標識符,或是使用 Dirids 中所述的其中一個系統定義目錄識別碼。

MessageFile=path-to-file
選擇性地指定 exe 或 dll 的路徑,其中包含提供者的當地語系化訊息資源,以 %dirid%\filename 表示。

ParameterFile=path-to-file
選擇性地指定 exe 或 dll 的路徑,其中包含提供者的參數位符串資源,以 %dirid%\filename 表示。

ImportChannel=channel-name
選擇性地指定另一個提供者所定義的通道。 如需詳細資訊,請參閱下列 節。

AddChannel=channel-name,channel-type[,channel-install-section]
選擇性地指定具有子指示詞的通道,選擇性地參考 INF 檔案中其他位置的 INF-writer-defined channel-install-section。 如需詳細資訊,請參閱下列 節。

指定通道清單

您可以在提供者 的 event-provider-install-區段中指定提供者的通道清單。 您可以匯入通道或將通道新增至清單,並保留這些通道的順序。 如需詳細資訊,請參閱 定義通道

通道名稱在提供者使用的通道清單中必須是唯一的。 通道名稱必須小於 255 個字元,且不能包含下列字元:''、'><'、'&'、''、'|'、''、':'、'、'、'、'?'、'*'或 ASCII 值小於 31 的字符。

通道 類型 可以指定為下列其中一個數值,以十進位表示法表示,或如下列清單所示,以十六進位表示法表示。

0x1 (管理員)
管理員 類型通道支援以用戶、系統管理員和支援人員為目標的事件。 寫入至 管理員 通道的事件應該具有定義完善的解決方案,讓系統管理員可以採取行動。

0x2 (作業)
操作類型通道支援用來分析及診斷問題或發生的事件。 根據問題或發生的情況,它們可以用來觸發工具或工作。

0x3 (Analytic)
分析類型通道支援大量發佈的事件。 它們會描述程式作業,並指出使用者操作所無法處理的問題。

0x4 (偵錯)
偵錯類型通道支援僅由開發人員用來診斷問題以進行偵錯的事件。

AddChannel 子指示詞也可以參考 INF 檔案中其他地方的 channel-install-section。 每個這類區段都有下列形式:

[channel-install-section]

[Isolation=isolation-type]
[Access=access-string]
[Enabled=0|1]
[Value=value]
[LoggingMaxSize=max-size]
[LoggingRetention=retention-type]
[LoggingAutoBackup=0|1]

如需通道屬性的詳細資訊,請參閱 EventManifest 架構內定義的 ChannelType

Channel-Install 區段專案和值

分離=isolation-type
選擇性地將通道的預設訪問許可權指定為下列其中一個數值,以十進位表示法表示,或如下列清單所示,以十六進位表示法表示。 如果省略,則預設會 0x1應用程式) (。

0x1 (應用程式)

0x2 (系統)

自訂) 0x3 (

訪問=access-string
選擇性地指定 安全性描述元定義語言 (SDDL) 存取描述元,以控制通道之記錄檔的存取權。

如果 Isolation 設定為 0x1 (Application ) 或 0x2 ( (System) ,則會) 忽略寫入許可權 (檔案的讀取許可權,而如果隔離屬性設定為 0x3自定義) ,則會控制對檔案的寫入許可權和讀取許可權。

啟用=0|1
選擇性地指定通道是否已啟用。 如果省略,這會預設為0 (停用) 。

由於 0x3 (Analytic) 和 0x4 (偵錯) 通道類型 為高磁碟區通道,因此只有在調查寫入該通道的元件問題時,才應該將 [ 啟用 ] 設定為 1。 每次啟用 0x3 (Analytic) 和 0x4 (Debug) 信道時,服務都會清除通道中的事件。

價值=價值
選擇性地指定數值識別碼,以唯一識別提供者所定義之通道清單中的通道。

LoggingMaxSize=max-size
選擇性地指定記錄檔的大小上限,以位元組為單位。 默認 (和最小) 值為 1 MB。

LoggingRetention=retention-type
選擇性地指定記錄檔0x1 ( 迴圈 ) 或0x2 (循序) 。 0x1 (迴圈 ) 0x1 (管理員) ,0x2 (作業) 信道類型和0x2 ( () 0x3 (Analytic) 和 0x4 (偵錯 ) 信道類型

LoggingAutoBackup=0|1
選擇性地指定當目前的記錄檔達到其大小上限時,是否要建立新的記錄檔。 設定為 1,要求服務在記錄檔達到其大小上限時建立新檔案;否則為 0。 只有當 LoggingRetention 設定為 0x2 (循序) ,且僅適用於 0x1 (管理員) 和 0x2 (操作) 信道類型時,才能將 LoggingAutoBackup 設定為 1。

範例

這個範例會顯示 AddEventProvider 指示詞所參考的事件提供者安裝區段,如 DDInstall 範例稍早所示。事件

[foo_Event_Provider_Inst]
ProviderName  = FooCollector
ResourceFile  = %13%\FooResource.dll
MessageFile   = %13%\FooMessage.exe

[bar_Event_Provider_Inst]
ProviderName  = BarCollector
ResourceFile  = %13%\BarResource.exe
MessageFile   = %13%\BarMessage.dll
ParameterFile = %13%\BarParameter.dll
ImportChannel = Microsoft-Windows-BaseProvider/Admin
AddChannel    = Bar-Provider/Admin,0x1,bar_Channel2_Inst    ; Admin type
ImportChannel = Microsoft-Windows-BaseProvider/Operational
ImportChannel = Microsoft-Windows-SampleProvider/Admin
AddChannel    = Bar-Provider/Debug,0x4                      ; Debug type

[bar_Channel2_Inst]
Isolation         = 2                                       ; System isolation
Enabled           = 1
Value             = 17
LoggingMaxSize    = 20971520
LoggingRetention  = 2                                       ; Sequential
LoggingAutoBackup = 1

另請參閱

DDInstall。事件