1
C#から次の関数を呼び出そうとしています。 私が近づいいくつかを試してみましたが、私はこれは.Hからの輸出はこれが現時点での私の(動作しない)コードであるCからdll関数の呼び出しでクラッシュする#
LPCTSTR _EXPORT_ GetString(LPCTSTR Name,int far *errCode);
ファイルである
それを呼び出すとき、それは常にクラッシュ:[DllImport("External.DLL", CharSet = CharSet.Unicode)]
private static extern string GetString(string VarName, out int ErrorCode);
public string GetStringW(string VarName, out int ErrorCode)
{
return GetString(VarName, out ErrorCode);
}
'LPCTSTR'はC#文字列ではありません。 – PaulMcKenzie
C++のa *はポインタを意味します。ここを見て - > http://stackoverflow.com/questions/23325668/call-to-external-dll-from-c-sharp-with-integer-pointer –
私はrefのInt32 ErrorCodeで試しましたが、それでもクラッシュします –