掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VARIANT(vt = VT_BSTR | VT_ARRAY)の値をchar型の文字列変数に格納するには? (ID:57166)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
毎度すみません・・・ COMの関数を用いてある値を取得しようと思っています。 返ってくる値はVARIANT型なのですが・・・ vt = VT_BSTR の時は、問題なくchar型に変換して値を取ることができたのですが、 vt = VT_BSTR | VT_ARRAY とString ARRAYで返ってきた場合にchar型に変換したいのですが・・・ 流れとしては VARIANT v; char c[適当な長さ]; int n; VARIANTを返す関数(&v); if(v.vt==VT_BSTR | VT_ARRAY) { ARRAYの要素数を返す関数(n); //←SafeArrayGetDim()?? for(int x = 0; x < n; x++) { ARRAY→charに取り込む関数(c); MessageBox(NULL, c, "結果", MB_OK); } } といった感じです(とりあえずは・・・)。 SAFEARRAYの取り扱い方が全くわからなくて・・・。 この中の文字列はワイド文字?マルチバイト?そんなところからわかっていないです・・・。 どなたかご教授いただけないでしょうか? 参考ページなどでもかまいません。 どなたか教えてください(^^; よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.