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