我正在尝试编写一个非常简单的 ISAPI 过滤器来调试另一个问题。IIS 返回错误代码0x8007007f,在 ISAPI 过滤器“此处的 dll”上调用 GetProcAddress 失败
我在带有 IIS 7.5 的 Windows 7 上的 Visual Studio 2012 中使用没有 MFC 的 C++。
下面是代码片段。在调试时,它似乎没有调用 HttpFilterProc。我在项目中手动添加了一个def文件,但我不知道它是否真的被使用了。
关于原因的任何想法?
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, "UMFilter:", "Enabled");
if ( !fServer )
{
dwServerError = GetLastError();
pfc->pFilterContext = (LPVOID)(DWORD64)pResponse->HttpStatus;
}
return SF_STATUS_REQ_NEXT_NOTIFICATION;
}