IIS: не удалось вызвать GetProcAddress для фильтра ISAPI

0

Я пытаюсь написать очень простой фильтр ISAPI для отладки другой проблемы. IIS возвращает код ошибки 0x8007007f с вызовом GetProcAddress на фильтр ISAPI "dll here" не удалось

Я использую C++ без MFC в Visual Studio 2012 на Windows 7 с IIS 7.5.

Ниже приведен фрагмент кода. При отладке он не вызывает 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;
}
Теги:
filter
iis
isapi

1 ответ

1
Лучший ответ

Решение заключалось в том, чтобы явно добавить файл определения модуля в свойства проекта → Linker → Input Property page в VS2012.

Linker не собирал файл, который я добавил.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню