0

DLL として使用する C 関数があります。関数はによってエクスポートされます

__declspec(dllexport) uint8_t *SomeFunction(uint8_t *a);

それぞれのヘッダー ファイル内。

ラッパーは関数をインポートします

[DllImport("SomeCFunction.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "SomeFunction")]
private static extern IntPtr SomeFunction(Byte[] array1);

ラッパーには、その関数の呼び出しを含むメソッドがあります

public unsafe Byte[] SomeFunction(Byte[] array1, Byte[] array2)
{
    IntPtr parray2 = CalculateKeyFromSeed(array1);

}

TestStand でステップを実行すると、エラーが発生します。

.NET メンバー 'SomeFunction' への呼び出し内で例外が発生しました: System.BadImageFormatException: Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x8007000B) bei SomeFunctionWrapperNameSpace.WrapperClass.SomeFunction(Byte[] array1) bei WrapperNameSpace.WrapperClass.SomeFunction(Byte[] array1, Byte[] array2) in SomeFunctionWrapper.cs:Zeile 33. bei SomeFunction(Byte[] array1, Byte[] array2) SomeFunction.cs:Zeile 39.

TestStand がこの DLL を受け入れるようにする方法を教えてください。

4

1 に答える 1