Шаг 3 - Установка приоритета

Фильтров может быть много и соответственно сервер должен разбираться в последовательности применения фильтров. Есть определенные правила по поводу применения фильтров.

Раз приоритеты есть, то о них нужно знать. Вот какие они бывают:

Приоритет вы уже устанавливаете при создании фильтра. Вот в этом окне на Step 2.

3_1.gif (3526 b)

В коде приоритет устанавливается как флаг в функции GetFilterVersion. Мы с Вами об этой функции поговорим еще отдельно, а приоритет устанавливается так:

BOOL CMyFilterFilter::GetFilterVersion(PHTTP_FILTER_VERSION pVer)
{
	......
	// Set the flags we are interested in
	// Первый флаг
	pVer->dwFlags |= SF_NOTIFY_ORDER_LOW | SF_NOTIFY_SECURE_PORT | 
		SF_NOTIFY_NONSECURE_PORT | SF_NOTIFY_URL_MAP | 
		SF_NOTIFY_END_OF_NET_SESSION;
	......
	return TRUE;
}

Давайте перекомпилируем наш MyFilter, только заменив приоритет на SF_NOTIFY_ORDER_HIGH и посмотрим, что будет в IIS. Внимание !!! Компилировать надо как Release и Shared DLL !!! Результат должен выглядеть как на рисунке, а на нем виден приоритет и видна зеленая стрелка вверх, говорящая о активности фильтра.

3_2.gif (3869 b)


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