次の方法で共有


SetupWriteTextLogInfLine の呼び出し

アプリケーションは SetupWriteTextLogInfLine を呼び出して、指定された INF ファイル行のテキストを含むログ エントリを SetupAPI テキスト ログに書き込むことができます。

SetupWriteTextLogInfLine を呼び出すために、アプリケーションは次の情報を提供します。

  • SetupGetThreadLogToken またはシステムによって定義されたログ トークンの 1 つを呼び出すことによって取得されたテキスト ログ内のセクションのログ トークン。 ログ トークンがテキスト ログ セクションに関連付けられている場合、 SetupWriteTextLogInfLine は、そのセクションにログ エントリを書き込みます。 それ以外の場合、SetupWriteTextLogInfLine は、テキスト ログ セクションに含まれていないログの一部にログ エントリを追加します。

    さらに、SetupWriteTextLogInfLine がログ エントリを書き込むかどうかと、SetupWriteTextLogInfLine がどのテキスト ログにエントリを書き込むかは、システム定義のログ トークン値によって決まります。

    ログ トークンの詳細については、「スレッドのログ トークンの設定と取得」を参照してください。

  • イベント レベル、インデントの深さ、およびタイム スタンプを含めるかどうかを指定するシステム定義定数のビットごとの OR であるフラグ値。 イベント レベルについては、「テキスト ログのイベント レベルの設定」を参照してください。

    テキスト ログに設定されたイベント レベルがエントリのイベント レベル以上の場合、 SetupWriteTextLogInfLine はログ エントリをテキスト ログに書き込みます。 それ以外の場合、SetupWriteTextLogInfLine は、テキスト ログにログ エントリを書き込みません。 インデントを使用することによって、書式設定されたメッセージを配置し、セクション内の情報を読みやすく、理解しやすくできます。

    詳細については、「インデントされたログ エントリの書き込み」を参照してください。

  • INF ファイル行を含む INF ファイルへのハンドル。

  • INF ファイル行のコンテキスト。

SetupWriteTextLogInfLine は、次の形式でログ エントリを書き込みます。

entry_prefix time_stampinf:indentation inf-line-text(inf-file-namelineline-number)

ここで:

  • entry_prefixtime-stamp、および indentation フィールドは、「テキスト ログ セクションの本文の形式」で説明されているものと同じです。

  • inf: フィールドは、TXTLOG_INF イベント カテゴリを指定します。 イベント カテゴリについては、「テキスト ログのイベント カテゴリの有効化」を参照してください。

  • inf-line-text フィールドには、指定された INF ファイル行のテキストが含まれます。

  • inf-file-name フィールドには、指定された INF ファイル行を含む INF ファイルの名前が含まれます。

  • line フィールドは、その後に続くのが INF ファイルの行番号であることを示します。

  • line-number フィールドには、INF ファイル内の指定された行の行番号が含まれます。

次の例は、アプリケーションが通常、INF 行のテキストをテキスト ログに記録する方法を示しています。 この例の INF 行は INF AddReg 行です。 アプリケーションは SetupWriteTextLogInfLine を呼び出して、次の入力パラメーター値を与えます。

  • LogToken は、SetupGetThreadLogToken によって返されたログ トークンに、またはシステム定義のログ トークンに設定されます。

  • LogFlags は TXTLOG_DETAILS に設定されます。 この例では、タイム スタンプを含めたり、インデントの深さを変更したりしません。 この例では、インデントの深さは 5 つのモノスペース テキスト スペースです。

  • InfHandle は、INF ファイル hidserv.inf へのハンドルに設定されます。このハンドルは、Platform SDK に記載されている SetupOpenInfFile 関数を呼び出すことによって取得されます。

  • Context は、"AddReg=HidServ_AddService_AddReg" というテキストを含んだ INF ファイル行の INF ファイル コンテキストに設定されます。行の INF ファイル コンテキストは、プラットフォーム SDK に記載されている SetupFindXxxLine 関数を呼び出すことによって取得されます。

LogTokenLogFlags の値は、SetupWriteTextLogInfLine の動作に影響し、これは SetupWriteTextLog について説明されているのと同様です。 さらに、SetupWriteTextLogInfLine はイベント カタログ TXTLOG_INF を使用します。

この例の場合、以下は、SetupWriteTextLogInfLine がテキスト ログに書き込むログ エントリの種類を示しています。

   inf:      AddReg=HidServ_AddService_AddReg  (hidserv.inf line 98)