共用方式為


寫入錯誤或警告記錄專案

下列範例示範應用程式通常如何呼叫 SetupWriteTextLog ,以在 SetupAPI 文字記錄檔中寫入錯誤或警告專案。 不過,如果事件與 SetupAPI 特定錯誤或 Win32 錯誤相關聯,應用程式可以改為呼叫 SetupWriteTextLogErrorSetupWriteTextLogError 有助於記錄和解譯這些錯誤類型的相關資訊。

如需呼叫 SetupWriteTextLog 以記錄錯誤訊息的資訊,請參閱 記錄錯誤訊息 ,以及呼叫 SetupWriteTextLog 以記錄警告訊息的相關資訊,請參閱 記錄警告訊息

記錄錯誤訊息

在此範例中,應用程式會呼叫 SetupWriteTextLog,並提供下列參數值:

  • LogToken 是透過呼叫 SetupGetThreadLogToken 取得的記錄權杖值,或是記錄權杖中所述的其中一個系統定義的記錄 權杖值。

  • 類別 設定為 TXTLOG_VENDOR,表示記錄專案是由廠商提供的應用程式所建立。 事件類別目錄會在 啟用文字記錄檔的事件類別中說明。

  • 旗標 會設定為位 OR TXTLOG_ERROR 和 TXTLOG_TIMESTAMP。 在此範例中,縮排深度不會變更,而且目前的縮排深度先前設定為五個單空格文字空間。 如需如何變更縮排深度的資訊,請參閱 撰寫縮排記錄專案。 事件層級描述于 設定文字記錄檔的事件層級 主題中。

  • MessageStr 設定為 TEXT (「Application Error (%d) 」) 。

  • 逗號分隔清單會提供變數 ErrorCode。

下列程式碼會呼叫 SetupWriteTextLog 來撰寫此範例的記錄專案:

//The LogToken value was previously returned by call to
//SetupGetThreadLogToken or one of the system-defined log token values
DWORD Category = TXTLOG_VENDOR; 
DWORD Flags = TXTLOG_ERROR | TXTLOG_TIMESTAMP;
DWORD ErrorCode = 1111; // An error code value

SetupWriteTextLog(LogToken, Category, Flags, TEXT("Application Error (%d)"),ErrorCode);

如果已啟用TXTLOG_VENDOR事件類別目錄,而且已針對文字記錄檔設定TXTLOG_ERROR事件層級,則此程式碼會在文字記錄中建立專案,其格式如下:

!!!  2005/02/13 22:06:28.109:    :  Application error (1111) 

entry_prefix欄位 「!!! 「 表示記錄專案是錯誤訊息。

記錄警告訊息

記錄警告訊息幾乎與記錄錯誤訊息相同。 差異在於事件層級的設定。 將 [旗標] 設定為 [TXTLOG_WARNING],而不是 [TXTLOG_ERROR]。 如果如記錄錯誤訊息中所述呼叫SetupWriteTextLog,但Flags設定為位 OR TXTLOG_WARNING 和 TXTLOG_TIMESTAMP,SetupWriteTextLog會寫入下列記錄專案:

!  2005/02/13 22:06:28.109:    :  Application error (1111) 

記錄專案的 entry_prefix 欄位為 「! 「,這表示這是警告訊息,而不是 」!!! 「,這表示錯誤訊息。