CComVariant::GetSize
更新 : 2007 年 11 月
単純な固定サイズの VARIANT について、基になるデータ型の sizeof と sizeof(VARTYPE) を合わせた値を返します。
ULONG GetSize() const;
戻り値
CComVariant オブジェクトの現在の内容のサイズ (バイト数) を返します。
解説
VARIANT にインターフェイス ポインタが含まれる場合、GetSize は IPersistStream または IPersistStreamInit について問い合わせます。正常終了すると、戻り値は GetSizeMax によって返される下位 32 ビットの値と sizeof(VARTYPE) を合わせた値になります。インターフェイス ポインタが NULL の場合、GetSize は CLSID の sizeof と sizeof(VARTYPE) を合わせた値を返します。
それ以外の場合、VT_BSTR 型の一時 VARIANT は現在の VARIANT から強制的に変換されます。この BSTR の長さは、文字列の長さのサイズ、文字列そのものの長さ、NULL 文字のサイズ、sizeof(VARTYPE) の合計になります。VARIANT を VT_BSTR 型の VARIANT に強制的に変換できない場合は、GetSize は sizeof(VARTYPE) を返します。
適切な条件の下では、このメソッドによって返されるサイズは、CComVariant::WriteToStream によって使用されるバイト数と一致します。
必要条件
ヘッダー : atlcomcli.h