掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
SAFEARRAY から要素数の取得ができない (ID:55350)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VC#.NET で作成したCOMを VC++ のプログラムから呼び出して使用しています。 COM の API で2次元配列を返す場合に、配列の要素数が正常に取得できずに困っています。 現在のコードは以下のように記述しています。 VC++ ------------------------------------------------------ SAFEARRAY *psa_return_array = NULL ; com->get_array( &psa_return_array ) ; unsigned short dim_count = psa_return_array->cDims ; unsigned short element_count = psa_return_array->cbElements ; ------------------------------------------------------ VC#.NET ------------------------------------------------------ public void get_array( out string[,] ret_array ) { : ret_array = new string[10, 2] ; return ; } ------------------------------------------------------ psa_return_array->cDims は正常に取れているようなのですが、 psa_return_array->cbElements とすると、実際に COM 側で作成した配列数と 異なる値が取得できてしまいます。 何が原因なのかさっぱりわからずに困り果てています。 どなたかよいアドバイスをいただけませんでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.