DLLImport error: System.AccessViolationException with Manifest file and c#

Posted by RP on Stack Overflow See other posts from Stack Overflow or by RP
Published on 2010-03-28T18:19:32Z Indexed on 2010/03/28 18:23 UTC
Read the original article Hit count: 1020

Filed under:

When trying to call (DLLImport) an external c++ dll from a .net application that has a manifest file with requireAdministrator, I get this error trying to call function from the C++ dll in Windows 7 with UAC enabled.

Method I am calling: EnCrypts

System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

public class BlowFish { [DllImport("BlowfishTool.dll", CharSet = CharSet.Auto)] public static extern String EnCrypt(String strData, String strPassword);

    [DllImport("BlowfishTool.dll", CharSet = CharSet.Auto)]
    public static extern String EnCrypt(String strData, String strPassword, bool doNotUsePassChecking);

    [DllImport("BlowfishTool.dll", CharSet = CharSet.Auto)]
    public static extern String DeCrypt(String strData, String strPassword, bool doNotUsePassChecking);

    [DllImport("BlowfishTool.dll", CharSet = CharSet.Auto)]
    public static extern String DeCrypt(String strData, String strPassword);


    public static String EnCrypts(String strData, String strPassword)
    {
        return EnCrypt(strData, strPassword, true);
    }
}

}

© Stack Overflow or respective owner

Related posts about c#