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 ファイル{nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}Strings セクションで定義された %strkey% トークンとして表すことができます。

event-provider-install-section
このデバイス (またはデバイス) のプロバイダーを登録するための情報を含む INF ライター定義セクションを参照します。 詳細については、「解説」を参照してください。

解説

システム定義および大文字と小文字を区別しない拡張は、 DDInstall に挿入できます。プラットフォーム固有または OS 固有のインストールを指定するためのクロスオペレーティング システムまたはクロスプラットフォーム INF ファイルの AddEventProvider ディレクティブを含む イベント セクション。

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
%dirid%\filename で表される、プロバイダーのメタデータ リソースを含む exe または dll へのパスを指定します。

ディリド番号 は、「Dirids の使用」で説明されているカスタム ディレクトリ識別子またはシステム定義ディレクトリ識別子のいずれかです。

MessageFile=path-to-file
%dirid%\filename で表される、プロバイダーのメタデータ リソースを含む exe または dll へのパスを指定します。

ParameterFile=path-to-file
%dirid%\filename で表される、プロバイダーのメタデータ リソースを含む exe または dll へのパスを指定します。

ImportChannel=channel-name
必要に応じて、別のプロバイダーによって定義されているチャネルを指定します。 詳細については、次 の「チャネルリストの指定」セクションを参照してください。

AddChannel=channel-name,channel-type[,channel-install-section]
必要に応じて、INF ファイル内の別の場所で INF ライター定義チャネル インストール セクションを参照するサブディレクティブを持つチャネルを指定します。 詳細については、次 の「チャネルリストの指定」セクションを参照してください。

チャネル リストの指定

event-provider-install-section 内でプロバイダーのチャネルの一覧を指定できます。 チャネルをインポートしたり、一覧にチャネルを追加したりすると、これらのチャネルの順序が保持されます。 詳細については、「チャネルの定義」を参照してください。

チャネル名 は、プロバイダーが使用するチャネルの一覧内で一意である必要があります。 チャネル名は 255 文字未満にする必要があり、'>'、 '<'、 '&'、 '"'、 '|'、 ''、 ':'、 '`'、 '?'、 '*'、または ASCII 値が 31 未満の文字を含めることはできません。

チャネル型は、次の数値のいずれかとして指定できます。10 進表記または次の一覧に示すように、16 進表記で表されます。

0x1 (管理)
管理タイプ チャネルは、エンド ユーザー、管理者、およびサポート担当者を対象とするイベントをサポートします。 管理 チャネルに書き込まれるイベントには、管理者が操作できる明確に定義されたソリューションが必要です。

0x2 (運用)
運用イベントは、問題や事象の分析および診断のために使用されます。 問題や事象に応じたツールまたはタスクを起動する目的で使用できます。

0x3 (分析)
分析タイプのチャネルは、大量に発行されるイベントをサポートします。 プログラム操作について説明し、ユーザーの介入では処理できない問題を示します。

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 セクションのエントリと値

分離=分離の種類
必要に応じて、チャネルの既定のアクセス許可を、10 進数または次の一覧に示すように、16 進表記で表される次のいずれかの数値として指定します。 省略すると、既定値は 0x1 (Application) になります。

0x1 (アプリケーション)

0x2 (システム)

0x3 (カスタム)

Access=access-string
必要に応じて、チャネルを サポートするログ ファイルへのアクセスを制御するセキュリティ記述子定義言語 (SDDL) アクセス記述子を指定します。

この文字列は、Isolation0x1 (Application) または 0x2 (System) に設定されている場合はファイルへの読み取りアクセスを制御します (書き込みアクセス許可は無視されます)。一方、分離属性が 0x3 (カスタム) に設定されている場合は、チャネルへの書き込みアクセスとファイルへの読み取りアクセスを制御します。

Enabled=0|1
必要に応じて、チャネルを有効にするかどうかを指定します。 省略すると、既定値は 0 (無効) になります。

0x3 (分析) チャネルと 0x4 (デバッグ) チャネルタイプ はボリュームの多いチャネルであるため、そのチャネルに書き込むコンポーネントの問題を調査する場合にのみ、Enabled を 1 に設定する必要があります。 0x3 (Analytic) チャネルと 0x4 (デバッグ) チャネルを有効にするたびに、サービスはチャネルからイベントをクリアします。

=
必要に応じて、プロバイダーが定義するチャネルの一覧内のチャネルを一意に識別する数値識別子を指定します。

LoggingMaxSize=max-size
この値は、各ログ・ファイルの最大サイズをMB単位で指定します。 既定値は 1 で、これが最小値です。

LoggingRetention=retention-type
必要に応じて、ログ ファイルが 0x1 (循環) か、 0x2 (シーケンシャル) かを指定します。 規定値は、0x1 (管理) および 0x2 (運用) チャネルタイプ の場合は 0x1(循環)、0x3 (分析) および 0x4 (デバッグ) channel-type の場合は 0x2(シーケンシャル) です。

LoggingAutoBackup=0|1
必要に応じて、現在のログ ファイルが最大サイズに達したときに新しいログ ファイルを作成するかどうかを指定します。 ログ ファイルが最大サイズに達したときにサービスが新しいファイルを作成するように要求するには、1 に設定します。それ以外の場合は 0。 LoggingAutoBackup を 1 に設定できるのは、LoggingRetention0x2 (シーケンシャル) に設定され、0x1 (管理) チャネルタイプと 0x2 (運用) チャネルタイプの場合のみです。

この例では、DDInstall の例で既に示したように、AddEventProvider ディレクティブによって参照されるイベント プロバイダー インストール セクションを示します。イベント

[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。イベント