n="justify"> {();
// GUID {1C046A9A-9187-4629-8184-24836DFE5EEB} allFilterGUID = {0x1c046a9a, 0x9187, 0x4629, {0x81, 0x84, 0x24, 0x83, 0x6d, 0xfe, 0x5e, 0xeb}};
// Додаємо допоміжний фільтр (subLayerGUID, engineHandle, allFilterGUID);
// Видаляємо основні фільтри (engineHandle);
// Додаємо нові основні фільтри (subLayerGUID, engineHandle); ("Filters added successfully! n");
// Видаляємо допоміжний фільтр (engineHandle, allFilterGUID);
}
# pragma endregion (engineHandle);;
}
// Додавання масиву фільтровAddAllFilters (GUID subLayerGUID, HANDLE engineHandle)
{result = NULL;
# pragma region Підрахунок кожного виду умов * buf = new char [bufSize] ;//Буфер для зберігання ліченої строкіipCount = 0,// ​​ʳлькість умов за IP = 0,// ​​ʳлькість умов по порту = 0 ;//кількість умов за додатками
// Прочитуємо з БД * f = fopen ("C: Program Files Filter BlockList.iff", "r"); (! f)
{("File " BlockList.iff "dosen't exist! n");
return;
}
// Прочитуємо перший рядок - блокувати весь трафік чи ні
fgets (buf, bufSize, f); [strlen (buf) -1] = ' 0'; * filterFile = fopen ("C: Program Files Filter FilterList.iff" , "w"); (! filterFile)
{("File " FilterList.iff "dosen't create! n");;
} filterID = NULL; ("Blocked all traffik:% s. n", buf);
if (! strcmp (buf, "true")) // Якщо потрібно заблокувати весь трафік
{=
}
// Прочитуємо порожній рядок (buf, bufSize, f); n = 1 ;//Лічильник порожніх рядків
// Зчитування кількості кожного виду умов
while (! feof (f))
{(buf, bufSize, f);
// Якщо останній рядок, то виходимо з циклу
if (feof (f)); [strlen (buf) -1] = ' 0'; (buf [0] == ' 0')
{+ +;;
} (n)
{1: ipCount + +; break; 2: portCount + +; break; 3: appCount + +; break;: break;
}
} (" nIP% d nPort% d nApplications% d n n", ipCount, portCount, appCount); (ipCount + portCount + appCount == 0)
{("There is no conditions. n");;
}
# pragma endregion
# pragma region Створення фільтрів
fseek (f, 0, SEEK_SET); (buf, bufSize, f) ;//Пропускаємо рядок, що містить значення прапор...