c++ - IIS:调用 ISAPI 筛选器上的 GetProcAddress 失败

标签 c++ iis filter isapi

我正在尝试编写一个非常简单的 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 的项目属性 -> 链接器 -> 输入属性页面中显式添加模块定义文件。

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

关于c++ - IIS:调用 ISAPI 筛选器上的 GetProcAddress 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19282735/

相关文章:

python - 在这种情况下如何使用Python中的过滤器来过滤字典?

c++ - 为什么 FindWindow 找到了 EnumChildWindows 找不到的窗口?

C++ 继承——为什么我的函数没有被使用?

c++ - 增加优先级队列中的优先级

asp.net-mvc - HTTP 错误 404.15 - 未找到 ...因为查询字符串太长

xpath - 如何在 wso2 ESB 中对多个参数使用过滤器

c++ - Ubuntu - 链接 boost.python - fatal error : pyconfig cannot be found

iis - gif 文件在 Windows azure 中给出 404 错误

asp.net - 服务器上出现错误不能为空参数名称root

sql - LINQ 到 SQL : subfilter in where conditions