Я написал несколько ISAPI, в том числе тот, который имел описанную вами функциональность. Я использовал SF_NOTIFY_SEND_RAW_DATA - я считаю, что первым вызовом будет заголовок, поэтому вы можете использовать:
FilterContext-> ServerSupportFunction (FilterContext, SF_REQ_DISABLE_NOTIFICATIONS, 0, SF_NOTIFY_SEND_RAW_DATA, 0);
чтобы отключить уведомления для будущих необработанных данных. Затем в структуре HTTP_FILTER_RAW_DATA у вас есть pvInData, который является текущим заголовком, я прочитал и записал его в новый выделенный мною HTTP_FILTER_RAW_DATA (не забывайте использовать FilterContext-> AllocMem для структуры и pvInData). Как только вы закончите, напишите новый заголовок FilterContext-> WriteClient и верните SF_STATUS_REQ_READ_NEXT.
Кроме того, при инициализации убедитесь, что установлены SF_NOTIFY_ORDER_HIGH и SF_NOTIFY_SEND_RAW_DATA.
Посмотрев мой старый код, я сделал именно это и специально удалил заголовок (плюс он также добавил один), поэтому он, безусловно, будет выполнять то, что вам нужно. Единственное предостережение, которое я скажу, это то, что я помню что-то, связанное с изменением RAW_DATA с IIS5 (когда я писал это) на IIS6 +, но мне никогда не нужно было обновлять этот конкретный ISAPI, поэтому я не знаю, повлиял ли какой-либо шанс на то, как это делается или не. Надеюсь, это поможет вам, хотя вы, по крайней мере, получили переплетение для вашего вопроса! :)