繁体   English   中英

IIS:在ISAPI筛选器上调用GetProcAddress失败

[英]IIS: Calling GetProcAddress on ISAPI filter failed

我试图编写一个非常简单的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;
}

解决方案是在VS2012中将模块定义文件显式添加到项目属性->链接器->输入属性页面。

链接器没有拾取我添加的文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM