呼叫 SetupWriteTextLogInfLine

應用程式可以呼叫 SetupWriteTextLogInfLine,在 SetupAPI 文字記錄檔中寫入記錄專案,其中包含指定 INF 檔案行的文字。

若要呼叫 SetupWriteTextLogInfLine,應用程式會提供下列資訊:

  • 呼叫 SetupGetThreadLogToken 或其中一個系統定義記錄令牌,在文字記錄檔中取得的區段記錄令牌 如果記錄令牌與文字記錄區段相關聯, SetupWriteTextLogInfLine 會在該區段中寫入記錄專案。 否則, SetupWriteTextLogInfLine 會將記錄專案新增至未包含在文字記錄區段中的記錄檔部分。

    此外,SetupWriteTextLogInfLine 是否會寫入記錄專案,以及 SetupWriteTextLogInfLine 寫入專案的文字記錄檔,取決於系統定義的記錄標記值。

    如需記錄令牌的詳細資訊,請參閱 設定和取得線程的記錄令牌。

  • 旗標值,這是系統定義的常數的位 OR,指定事件層級、縮排深度,以及是否包含時間戳。 在設定文字記錄檔的事件層級中,會說明事件層級。

    如果為文字記錄檔設定的事件層級大於或等於專案的事件層級, SetupWriteTextLogInfLine 會在文字記錄中寫入記錄專案。 否則, SetupWriteTextLogInfLine 不會在文字記錄檔中寫入記錄專案。 藉由使用縮排,可以排列格式化的訊息,讓區段中的資訊更容易閱讀和瞭解。

    如需詳細資訊,請參閱 撰寫縮排記錄專案

  • 包含 INF 檔案行之 INF 檔案的句柄。

  • INF 檔案行的內容。

SetupWriteTextLogInfLine 會以下列格式寫入記錄專案:

entry_prefix time_stamp inf:indentation inf-line-text inf-file-name line-number)

其中:

  • entry_prefix、時間戳縮排欄位與文字記錄區段本文格式中所述的欄位相同。

  • inf: 欄位會指定TXTLOG_INF事件類別目錄。 事件類別描述於啟用文字記錄的事件類別。

  • inf-line-text 字段包含指定 INF 檔案行的文字。

  • inf-file-name 欄位包含包含指定 INF 檔案行的 INF 檔名。

  • 欄位表示下列專案是 INF 檔案中的行號。

  • 號欄位包含 INF 檔案中指定行的行號

下列範例示範應用程式如何在文字記錄檔中記錄 INF 行的文字。 此範例中的 INF 行是 INF AddReg 行。 應用程式會呼叫 SetupWriteTextLogInfLine,並提供下列輸入參數值:

  • LogToken 會設定為 SetupGetThreadLogToken 或系統定義的記錄令牌所傳回的記錄令牌。

  • LogFlags 會設定為 TXTLOG_DETAILS。 此範例不包含時間戳或變更縮排深度。 在此範例中,縮排深度為五個單一空間文字空間。

  • InfHandle 設定為 INF 檔案 hidserv.inf 的句柄。呼叫 Platform SDK 中記載的 SetupOpenInfFile 函式,以取得此句柄。

  • Context 設定為 INF 檔案行的 INF 檔案內容,其中包含 “AddReg=HidServ_AddService_AddReg” 文字。呼叫 Platform SDK 中記載的 SetupFindXxxLine 函式,以取得該行的 INF 檔案內容。

LogToken 和 LogFlags 的值會以與 SetupWriteTextLog 所述的相同方式影響 SetupWriteTextLogInfLine作業。 此外, SetupWriteTextLogInfLine 會使用事件目錄TXTLOG_INF。

在此範例中,下列顯示 SetupWriteTextLogInfLine 將寫入文字記錄檔的記錄項目類型:

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