第一种:
调用DLL文件内部函数时,使用的传入参数方式不正确。
譬如:
[DllImport(DLLFileName, EntryPoint = "PMSifGetDefUserGroup")]public static extern string PMSifGetDefUserGroup(string TerminatedStringBuffer);
改为
[DllImport(DLLFileName, EntryPoint = "PMSifGetDefUserGroup")]public static extern string PMSifGetDefUserGroup(ref string TerminatedStringBuffer);
第二种:调用DLL文件内部函数时,使用的传入参数数量不正确,少传或者多传,或者参数类型不对。
譬如:
[DllImport(DLLFileName, EntryPoint = "PMSifGetDefUserGroup")]public static extern string PMSifGetDefUserGroup(ref string TerminatedStringBuffer);
改为
[DllImport(DLLFileName, EntryPoint = "PMSifGetDefUserGroup")]public static extern string PMSifGetDefUserGroup(ref string TerminatedStringBuffer, int BufferSize);
这是我目前遇到的,如有其他,请多指教,谢谢