0

パラメータとして持つメソッドがありIntPtrます。これで、関数パラメーターに引数として渡す必要がある文字列「EXT101」ができました。以下は私の機能と私が試したものですが、うまくいきません。

unsafe private static extern int lineDevSpecific(IntPtr hLine); 
string vline="Ext101"; 
int* hline=&vline; 

hline引数として渡すには?

4

2 に答える 2

0

IntPtr は int へのポインターではないことに注意してください。符号付きネイティブ整数で表されるポインタです。メモリ内のこの文字列へのポインターを取得したい場合があります。

string vline="Ext101";
IntPtr hline = System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(vline);
lineDevSpecific(hline);
于 2013-03-04T12:04:57.747 に答える
0

EXT101推測では、プリプロセッサで定義された定数だと思います。コンパイル後に名前として存在しなくなるため、簡単に取得する方法はありません。値を見つけるには、リンクしようとしているライブラリのヘッダー ファイルを調べる必要があります。

于 2013-03-04T10:11:38.253 に答える