Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
SetupWriteTextLogError записывает сведения об ошибке setupAPI или ошибке Win32 в текстовый журнал SetupAPI. SetupWriteTextLogError записывает две последовательные записи в текстовый журнал: первая запись содержит те же сведения в том же формате, что и записываемые функцией SetupWriteTextLog, а вторая запись регистрирует соответствующий код ошибки и понятное описание ошибки.
Чтобы вызвать SetupWriteTextLogError, приложение предоставляет те же сведения, что и для вызова SetupWriteTextLog , а также предоставляет значение ошибки SetupAPI или ошибки Win32.
SetupWriteTextLogError записывает первую запись журнала в следующем формате:
entry_prefix time_stamp категория ****отступ форматированное сообщение
SetupWriteTextLogError записывает вторую запись журнала в следующем формате:
entry_prefix time_stamp category **отступ **Ошибка:error-number error-description
Where:
Поля entry_prefix, time-stamp, category, indentation и formatted-message совпадают с полями, описанными в разделе Формат тела раздела текстового журнала.
Поле error-number содержит номер ошибки.
Поле error-description содержит понятное описание ошибки.
В следующем примере показано, как приложение обычно вызывает SetupWriteTextLogError для регистрации сведений об ошибке в текстовом журнале. Ошибка, используемая в примере, является ошибкой старта системы. Приложение вызывает SetupWriteTextLogError, предоставляя следующие значения параметров:
LogToken имеет значение маркера журнала, которое либо было получено путем вызова SetupGetThreadLogToken, либо является одним из определенных системой значений маркера журнала, описанных в токенах журнала.
Категория имеет значение TXTLOG_VENDOR, указывающее, что запись журнала выполняется приложением, предоставленным поставщиком. Категории событий описаны в разделе «Включение категорий событий для текстового журнала».
LogFlags имеет значение TXTLOG_ERROR. Этот пример не включает метку времени или не изменяет глубину отступа. Текущая глубина отступа ранее была задана как пять моноширинных пробелов. Сведения о том, как изменить глубину отступа, см. в разделе Создание записей журнала с отступами. Уровни событий описаны в разделе "Настройка уровня событий для текстового журнала".
Ошибка устанавливается равной значению кода ошибки Win32 ERROR_SERVICE_ALREADY_RUNNING. Десятичное значение этого кода ошибки равно 1056.
MessageStr имеет значение TEXT("Start Service: Failed to start service 'SomeService'").
Список параметров, разделенных запятыми, не предоставляется.
Параметры LogToken, Category и LogFlags влияют на работу SetupWriteTextLogError таким же образом, как эти параметры влияют на операцию SetupWriteTextLog.
Следующий код вызывает SetupWriteTextLogError для записи записи журнала в этом примере:
//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 ;
DWORD ErrorCode = 1056; // The corresponding Win32 error code
SetupWriteTextLog(LogToken, Category, Flags, ErrorCode, TEXT("Start Service: Failed to start service 'SomeService'"),);
Если для текстового журнала включена категория событий TXTLOG_VENDOR, а для текстового журнала задан уровень событий TXTLOG_ERROR, этот код создаст запись в текстовом журнале, которая будет отформатирована следующим образом:
!!! : Start Service: Failed to start service 'SomeService'
!!! : Error 1056: An instance of the service is already running.
Помните, что SetupWriteTextLogError предоставляет строку "Экземпляр службы уже запущен" для описания ошибки Win32 со значением 1056.