SetupWriteTextLog 函式 (setupapi.h)

SetupWriteTextLog 函式會在 SetupAPI 文字記錄檔中寫入記錄專案。

語法

WINSETUPAPI VOID SetupWriteTextLog(
  [in] SP_LOG_TOKEN LogToken,
  [in] DWORD        Category,
  [in] DWORD        Flags,
  [in] PCSTR        MessageStr,
       ...          
);

參數

[in] LogToken

系統定義的 記錄令牌 ,或 由 SetupGetThreadLogToken 傳回的記錄令牌。

[in] Category

指出記錄專案之事件類別目錄的 DWORD 型別值。 可為記錄專案指定的事件類別目錄,與可針對文字記錄啟用的事件類別目錄相同。 如需事件類別目錄的清單,請參閱 為 SetupAPI 文字記錄啟用事件類別目錄。

[in] Flags

DWORD 型別值,其為旗標值的位 OR,指定下列專案:

  • 記錄專案的事件層級。 可為記錄專案指定的事件層級,與可針對文字記錄啟用的事件層級相同。 如需事件層級旗標的清單,請參閱 設定 SetupAPI 文字記錄的事件層級。
  • 是否要在記錄專案中包含時間戳。 時間戳旗標值是TXTLOG_TIMESTAMP。
  • 如果有任何變更,則變更為區段的縮排深度和目前的記錄專案。 如需如何使用縮排旗標的資訊,請參閱 撰寫縮排記錄專案。

[in] MessageStr

NULL 終止常數位串的指標,其中包含 與 printf 相容的格式字串,指定要包含在記錄專案中的格式化訊息。 MessageStr 後面的逗號分隔參數列表必須符合格式字串中的格式規範。

...

逗號分隔參數清單,符合 MessageStr 所提供之格式字串中的格式規範。

傳回值

無

備註

如果呼叫 SetupGetThreadLogToken 傳回 LogToken 的值,而且可以找到對應的文字記錄區段,SetupWriteTextLog 就會在該文字記錄區段中寫入記錄專案。 如果 SetupWriteTextLog 找不到 區段, SetupWriteTextLog 會在對應的文字記錄檔中寫入記錄專案,但不包含區段中的記錄專案。

如果 LogToken 的值是下表所列的其中一個系統定義記錄令牌, SetupWriteTextLog 會執行針對該記錄令牌所指示的寫入作業。

系統定義的記錄令牌 寫入作業
LOGTOKEN_NOLOG 記錄專案不會寫入任何文字記錄檔。
LOG_TOKEN_UNSPECIFIED 記錄專案會寫入應用程式安裝文字記錄檔。 記錄專案不包含在 文字記錄區段中。
LOGTOKEN_SETUPAPI_APPLOG 記錄專案會寫入應用程式安裝文字記錄檔。 記錄專案不包含在文字記錄區段中。
LOGTOKEN_SETUPAPI_DEVLOG 記錄專案會寫入裝置安裝文字記錄檔。 記錄專案不包含在文字記錄區段中。
 
注意 將 LogToken 的值設定為其中一個系統定義的記錄令牌,並不會變更線程目前記錄標記的值。
 
此外,當下列任一項成立時, SetupWriteTextLog 不會寫入記錄專案: 記錄項目的長度上限為 336。

若要在文字記錄檔中寫入 SetupAPI 特定錯誤或 Win32 錯誤的相關信息,應用程式可以使用 SetupWriteTextLogError。

如需在 SetupAPI 文字記錄中寫入記錄專案的一般資訊,請參閱 SetupAPI Logging (Windows Vista 和更新版本) 。

如需 SetupWriteTextLog 作業的詳細資訊,請參閱 呼叫 SetupWriteTextLog。

如需記錄令牌的詳細資訊,請參閱 記錄令牌。

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

規格需求

需求 值
最低支援的用戶端 適用於 Windows Vista 和更新版本的 Windows。
目標平台 桌面
標頭 setupapi.h (包括 Setupapi.h)
程式庫 Setupapi.lib
API 集合 ext-ms-win-setupapi-logging-l1-1-0 (Windows 8)

另請參閱

SetupGetThreadLogToken

SetupWriteTextLogError