1

C++ では次のようになります。

[DllImportAttribute("Win32DLLRecon.dll", CharSet=CharSet::Auto, CallingConvention=CallingConvention::StdCall)]
    extern "C" void proc1
        (__int32 *i1,
             __int16 *i2,
             __int16 *i3,
             char *i4,
             unsigned *i5,      
             unsigned char *o1, 
             unsigned __int16 *o2,
             float *o3); 

どこで i = 入力 , o = 出力 C# に相当するものは何ですか?
「out Byte [] output」など、配列のように指定しようとしましたが、byte []ではなくbyte *が必要であると不平を言います(コードでポインターを使用する必要があります)。編集:クラス全体を安全でないと宣言し、これらをポインターとして渡すとどうなりますか: extern proc (out Byte* 出力など)?

4

1 に答える 1

0

System.IntPtrこれには a 、またはSystem.IntPtr[]真の配列にはa を使用する必要があると思います。

于 2012-04-05T00:29:00.743 に答える