このブログ「吟遊詩人の戯言」 の記事検索...

C#のアンマネージDLLマーシャリングで

関連記事

構造体配列の先頭ポインタを取る方法って,どう書くんだっけ?

C++DLL側のソースは,こんなイメージ

typedef struct {
	float wx;
	float wy;
	float wz;
	int 	x;
	int 	y;
} POINT_LCTOWL, *PPOINT_LCTOWL;

#defin   ROW_COUNT		30
#defin   COL_COUNT		30

POINT_LCTOWL g_PointInfoArray[ROW_COUNT * COL_COUNT];

int WINAPI get_PointInfoArray(PPOINT_LCTOWL &aryPtr, int &arySize);  //構造体配列の先頭ポインタと配列長を取得


//実装部(適当に書いた.たぶん,コンパイル,通らね)
extern "C" get_PointInfoArray(PPOINT_LCTOWL &aryPtr, int &arySize)                  
{

    aryPtr  = &g_PointInfoArray[0];
    arySize = ROW_COUNT * COL_COUNT;

    return 0;
}

このDLLを,C#で呼ぶ場合のマーシャリングの書き方が謎?


また,暇見て,サンプル書いて,ちょいと動きを確かめよう

いや,この辺の話と実は絡んでたり(笑
基礎技術は固めておかないとねぇ~~♪

 
 
 
 

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">