0

別の問題をデバッグするための非常に単純な ISAPI フィルターを作成しようとしています。IIS がエラー コード0x8007007fを返し、ISAPI フィルターでの 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;
}
4

1 に答える 1

1

解決策は、VS2012 のプロジェクト プロパティ -> リンカー -> 入力プロパティ ページにモジュール定義ファイルを明示的に追加することでした。

リンカーは、追加したファイルを取得していませんでした。

于 2013-10-09T21:32:36.143 に答える