Образовательный портал Claw.ru
Всё для учебы, работы и отдыха
» Шпаргалки, рефераты, курсовые
» Сочинения и изложения
» Конспекты и лекции
» Энциклопедии

Первый заголовочный файл хранит в себе прототип WLX_NOTIFICATION_INFO. А второй пригодится в процессе создания логов.

У нас уже есть функция DllMain, любезно предоставленная визардом. Оставим ее без изменений. Напишем функцию создания логов. Поскольку структура WLX_NOTIFICATION_INFO содержит в себе Юникод-строки, будет удобно выводить данные в текстовый файл типа Юникод.

void WriteLog(PWSTR pStrEventName,

         PWLX_NOTIFICATION_INFO pInfo)

{

  // Первый параметр функции WriteLog будет

  // содержать описание события,

  // а второй - сами данные.

  // Задаем название log-файла

  WCHAR fName[] = L"C:log.txt";

  WCHAR buf[ 1024 ];

  // Готовим строку для логов. Стоит отметить что если бы

  // был обьявлен макрос STRICT, вывод hDesktop

  // необходимо было бы делать по другому.

  swprintf(buf, L"Event: %s, User: %s, Domain: %s,"

    L"Window station: %s, User token 0x%p,"

    L"Desktop 0x%prn", pStrEventName,

    pInfo->UserName, pInfo->Domain, pInfo->WindowStation,

    pInfo->hToken, pInfo->hDesktop);

  // Открываем log-файл для записи.

  HANDLE hFile = CreateFileW(fName, GENERIC_WRITE,

    FILE_SHARE_READ, NULL, OPEN_EXISTING,

    FILE_ATTRIBUTE_NORMAL, NULL);

  DWORD dwWritten;

  // Если такого файла нет, или случилась какая-то другая


Рекомендуем скачать другие рефераты по теме: культурология, конспект изложения.


Категории:




Предыдущая страница реферата | 1  2  3  4  5  6  7  8  9 |


Поделитесь этой записью или добавьте в закладки

   



Рефераты от А до Я