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