2008-06-05

バリアントの元の型が、配列かどうか判定する

OpenG のコードを読んでいると、バリアントの元の型が配列かどうかを判定する方法が分かりました。



「バリアントから平坦化文字列に変更」関数 ("Variant To Flattened String" function) の、タイプ文字列端子から出てくるデータを見ます。バリアントの元の型が配列の場合、Windows ではこのデータの 4バイト目タイプディスクリプタが  0x40 になるということです。正確には、この端子から出てくるデータは符号つき16ビット整数の配列で、ふたつめの要素の下位バイトが 0x40 です。



Isarray_2