Шаг 21 - Создаем 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 при поиске оборудования ??? Вот примерно тоже самое сделать можете и Вы.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.