次の方法で共有


CComVariant::GetSize

単純な固定サイズの VARIANT について、基になるデータ型の sizeof と sizeof(VARTYPE) を合わせた値を返します。

ULONG GetSize() const;

戻り値

CComVariant オブジェクトの現在の内容のサイズ (バイト数) を返します。

解説

VARIANT にインターフェイス ポインターが含まれる場合、GetSizeIPersistStream または IPersistStreamInit について問い合わせます。照会が成功すると、戻り値は GetSizeMax によって返される下位 32 ビットの値および CLSIDsizeof と sizeof(VARTYPE) を合わせた値になります。インターフェイス ポインターが NULL の場合、GetSize は CLSIDsizeof と sizeof(VARTYPE) を合わせた値になります。合計サイズが ULONG_MAX を超える場合、GetSize はエラーを表す sizeof(VARTYPE) を返します。

それ以外の場合、VT_BSTR 型の一時 VARIANT は現在の VARIANT から強制的に変換されます。この BSTR の長さは、文字列の長さのサイズ、文字列そのものの長さ、null 文字のサイズ、sizeof(VARTYPE) の合計になります。VARIANT を VT_BSTR 型の VARIANT に強制的に変換できない場合、GetSizesizeof(VARTYPE) を返します。

適切な条件の下では、このメソッドによって返されるサイズは、CComVariant::WriteToStream によって使用されるバイト数と一致します。

必要条件

ヘッダー: atlcomcli.h

参照

関連項目

CComVariant クラス