Создаем LOG файл SetupInitializeFileLog

Ну давайте сразу глянем код:

// TestLog.cpp : Defines the entry point for the console application.
//


#include "stdafx.h"
#include "afxwin.h"
#include "setupapi.h"
#include "iostream.h"

#pragma comment(lib,"setupapi.lib")


void main()
{
HSPFILELOG hp;
hp=SetupInitializeFileLog("my.log",SPFILELOG_FORCENEW);
if (hp!=INVALID_HANDLE_VALUE)
{
}
else
cout << "Error Create File Log" << endl;
}

Сначала мы создаем переменную типа HSPFILELOG. Она определена так:

typedef PVOID HSPFILELOG;

В нее и будет помещен результат выполнения функции SetupInitializeFileLog куда передается имя LOG файла и флаг. Это флаг SPFILELOG_FORCENEW, говорит о том, что перезаписывать файл если он есть. Какие еще флаги есть ???

SPFILELOG_SYSTEMLOG Использовать системный LOG файл
SPFILELOG_FORCENEW Перезаписывать если есть
SPFILELOG_QUERYONLY Только для запроса информации

Ну и естественно, что если результат не равен INVALID_HANDLE_VALUE все нормально. Кстати знаете зачем вот эти флаги ? Ну во-первых системный LOG нельзя перезаписывать. А флаг на выборку - это для продолжения инсталляции после прерывания. Сталкивались в Windows при поиске оборудования ??? Вот примерно тоже самое сделать можете и Вы.

 
« Предыдущая статья   Следующая статья »