removehttpheader.cpp

来自「iis 筛选器isapi的一个范例」· C++ 代码 · 共 39 行

CPP
39
字号
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <httpfilt.h>

DWORD DoSendResponse(HTTP_FILTER_CONTEXT * pfc, HTTP_FILTER_SEND_RESPONSE * pResponse);

BOOL WINAPI __stdcall GetFilterVersion(HTTP_FILTER_VERSION *pVer)
{
	pVer->dwFlags = ( SF_NOTIFY_ORDER_LOW | SF_NOTIFY_SEND_RESPONSE );
	pVer->dwFilterVersion = HTTP_FILTER_REVISION;
	strcpy(pVer->lpszFilterDesc, "Replace Server Header ISAPI filter, Version 1.0");
	return TRUE;
}

DWORD WINAPI __stdcall HttpFilterProc(HTTP_FILTER_CONTEXT *pfc, DWORD NotificationType, VOID *pvData)
{
	switch (NotificationType)
	{
	case SF_NOTIFY_SEND_RESPONSE :
		return DoSendResponse(pfc, (HTTP_FILTER_SEND_RESPONSE *) pvData);
	default :
		break;
	}
	return SF_STATUS_REQ_NEXT_NOTIFICATION;
}
DWORD DoSendResponse(HTTP_FILTER_CONTEXT * pfc,HTTP_FILTER_SEND_RESPONSE * pResponse)
{
	BOOL fServer = TRUE;
	DWORD dwServerError;
	fServer = pResponse->SetHeader(pfc, "Server:", "MyWebServer");
	if ( !fServer )
	{
		dwServerError = GetLastError();
		pfc->pFilterContext = (LPVOID)(DWORD64)pResponse->HttpStatus;
	}

	return SF_STATUS_REQ_NEXT_NOTIFICATION;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?