Вызов SetupWriteTextLogInfLine

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

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

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

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

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

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

    Если для текстового журнала задан уровень событий больше или равен уровню события для записи, SetupWriteTextLogInfLine записывает запись журнала в текстовом журнале. В противном случае SetupWriteTextLogInfLine не записывает запись в текстовый журнал. Используя отступ, отформатированные сообщения можно упорядочить, чтобы упростить чтение и понимание сведений в разделе.

    Дополнительные сведения см. в разделе Запись записей журнала с отступом.

  • Описатель INF-файла, содержащего строку INF-файла.

  • Контекст строки INF-файла.

SetupWriteTextLogInfLine записывает запись журнала в следующем формате:

entry_prefix time_stampinf:indentation inf-line-text(inf-file-namelineline-number)

Where:

  • Поля entry_prefix, метки времени и отступов совпадают с полями, описанными в формате тела раздела текстового журнала.

  • Поле inf: указывает категорию событий TXTLOG_INF. Категории событий описаны в разделе "Включение категорий событий" для текстового журнала.

  • Поле inf-line-text содержит текст указанной строки INF-файла.

  • Поле inf-file-name содержит имя INF-файла, содержащего указанную строку INF-файла.

  • Поле line указывает, что следующее — номер строки в 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)