Поделиться через


Вызов setupWriteTextLogInfLine

Приложение может вызвать SetupWriteTextLogInfLine для записи записи журнала в текстовом журнале SetupAPI, содержашем текст указанной строки INF-файла.

Чтобы вызвать SetupWriteTextLogInfLine, приложение предоставляет следующие сведения:

  • Маркер журнала для раздела в текстовом журнале, полученный путем вызова SetupGetThreadLogToken или одного из системных маркеров журнала. Если маркер журнала связан с текстовым разделом журнала, setupWriteTextLogInfLine записывает запись журнала в этом разделе. В противном случае SetupWriteTextLogInfLine добавляет запись журнала в часть журнала, которая не включена в текстовый журнал.

    Кроме того, записывает ли программа SetupWriteTextLogInfLine запись журнала и в какой текстовый журнал SetupWriteTextLogInfLine записывает запись, зависит от значения токена журнала, определенного системой.

    Дополнительные сведения о маркерах журнала см. в разделе "Настройка" и "Получение маркера журнала" для потока.

  • Значение флага, которое представляет собой битовую или системные константы, указывающие уровень событий, глубину отступа и необходимость включения метки времени. Уровни событий описаны в разделе "Настройка уровня событий для текстового журнала".

    Если для текстового журнала задан уровень событий больше или равен уровню события для записи, 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. Этот дескриптор получается путем вызова функции SetupOpenInfFile , которая задокументирована в пакете SDK для платформы.

  • Контекст имеет контекст INF-файла строки INF, содержащей текст AddReg=HidServ_AddService_AddReg. Контекст INF-файла для строки получается путем вызова функций SetupFindXxxLine , которые описаны в пакете SDK для платформы.

Значения LogToken и LogFlags влияют на работу SetupWriteTextLogInfLine таким же образом, как описано для SetupWriteTextLog. Кроме того, SetupWriteTextLogInfLine использует TXTLOG_INF каталога событий.

В этом примере показано тип записи журнала, которую SetupWriteTextLogInfLine будет записывать в текстовый журнал:

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