SAFEARRAY
VBの配列
多次元配列での注意事項
0開始か1開始か
自動変数としてのSAFEARRAY
in引数に対するSAFEARRAYであれば、自動変数を利用することができる。
なぜならば、inは呼び出し元がメモリーアサインの責任を持っているからである。また、in,out引数として利用することも可能である。なぜならば、SafeArrayDestroy APIに対して、自動変数に割り当てられていることを知らせることができるからである。
以下にサンプルコードを示す。
GUID guid; CLSIDFromString(L"{xxxxxx-xx...}", &guid); SAFEARRAY sa = { 1, FADF_AUTO | FADF_FIXEDSIZE, 1, 0, &guid, { sizeof(GUID), 0 } }; VARIANT v, vData; VariantInit(&v); v.vt = VT_ARRAY | VT_UI1; v.parray = &sa; obj->call(v);
- 詳細については、MSDNのSAFEARRAY Data Typeの項を参照
Keyword(s):
References: