« Previous Next »

Thread: ISAPI Filter will not load on amd 64 system

Last post 05-11-2009 11:04 AM by SimonKing. 3 replies.

Average Rating Rate It (5)

RSS

Page 1 of 1 (4 items)

Sort Posts:

  • 05-09-2009, 6:33 PM

    • SimonKing
    • Not Ranked
    • Joined on 02-22-2006, 11:35 AM
    • Posts 5

    ISAPI Filter will not load on amd 64 system

    Hi

    I have created an ISAPI filter using the mfc classes and it works fine on my developemnt environment which is an intel 32 bit system. However, when I load the same filter onto a 64 bit AMD system I get an error when the filter is loaded. I have built the filter in AMD64bit mode but I get a message "The HTTP Filter DLL *****.dll failed to load. The data is the error." The data provided is 7f 00 00 00.

    I have read David Wangs article on this but I don't believe it is related as I have now created a new environment on a 64 bit amd system and am compiling on that and getting the same error. My filter is very simple, which it needs to be as my c++ skills aren't that great. It simply modifies the url if the host meets certain criteria and the request is not for the root of the site. The modification is to insert "/S" at the start ofn the url as the new system will have urls that will for the most part have moved.

     I'm really tearing my hair out with this as I can't find any decent information anywhere that may help me to fix this.

     Any help would be much appreciated.

    Regards

    Simon

  • 05-09-2009, 10:29 PM In reply to

    • lextm
    • Top 10 Contributor
    • Joined on 10-22-2008, 12:18 AM
    • Shanghai, PRC
    • Posts 1,417

    Re: ISAPI Filter will not load on amd 64 system

    F:\Green\err>err 0000007f
    # for hex 0x7f / decimal 127 :
      UNEXPECTED_KERNEL_MODE_TRAP                                   bugcodes.h
    # Run a system diagnostic utility supplied by your hardware
    # manufacturer.
    # In particular, run a memory check, and check for faulty or
    # mismatched
    # memory. Try changing video adapters.
    # Disable or remove any newly installed hardware and drivers.
    # Disable or
    # remove any newly installed software. If you need to use
    # Safe Mode to
    # remove or disable components, restart your computer, press
    # F8 to select
    # Advanced Startup Options, and then select Safe Mode.
      NMERR_REMOTE_VERSION_OUTOFSYNC                                netmon.h
      SQL_127_severity_15                                           sql_err
    # A TOP N value may not be negative.
      ERROR_PROC_NOT_FOUND                                          winerror.h
    # The specified procedure could not be found.
    # 4 matches found for "0000007f"

    Sounds like IIS cannot find ISAPI methods from this dll.

    Lex Li
    Support Engineer at Microsoft
    ---------------------------
    This posting is provided "AS IS" with no warranties, and confers no rights.
  • 05-10-2009, 8:32 AM In reply to

    • SimonKing
    • Not Ranked
    • Joined on 02-22-2006, 11:35 AM
    • Posts 5

    Re: ISAPI Filter will not load on amd 64 system

    Thanks for that but how do I Identify what's missing or not being exposed? As I said the exact same code works on intel 32 bit windows 2003 (SP2) but not on AMD 64 bit windows 2003 (SP2). Sadly I can't run the code or iis in 32 bit mode as the application being run is 64 bit and fails if I try to set everything to 32 bit.

     I'm happy to post some code up here if that makes analysing the problem any easier.

    Regards

    Simon

  • 05-11-2009, 11:04 AM In reply to

    • SimonKing
    • Not Ranked
    • Joined on 02-22-2006, 11:35 AM
    • Posts 5

    Re: ISAPI Filter will not load on amd 64 system

    OK finally got to the problem, as pointed out the methods weren't being marked as exported. The def file was not being used for the 64 bit build yet was for the 32 bit build. Probably a noob style error as I'm not so hot on VC++. I tracked it down using the depends tool from the platform SDK,  which showed me that the methods were present in the 32 bit dll but not in the 64 bit one. I then compared the project settings one at a time until it became clear that the .def file was not mentioned in the 64 bit settings. I added it in and tested and hey presto my ISAPI filter worked.

    Thanks for looking and I hope this may help others as well.

    Cheers

    Simon

Page 1 of 1 (4 items)
Microsoft Communities