VariantToDouble 関数 (propvarutil.h)
VARIANT 構造体から DOUBLE 値を抽出します。 値を抽出できない場合は、既定値が割り当てられます。
構文
PSSTDAPI VariantToDouble(
[in] REFVARIANT varIn,
[out] DOUBLE *pdblRet
);
パラメーター
[in] varIn
型: REFVARIANT
ソース VARIANT 構造体への参照。
[out] pdblRet
種類: DOUBLE*
この関数が戻るとき、抽出された値が存在する場合は を格納します。それ以外の場合は 0.0。
戻り値
種類: HRESULT
この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
注釈
このヘルパー関数は、呼び出し元のアプリケーションが DOUBLE 値を保持する VARIANT を想定している場合に使用されます。 たとえば、シェル フォルダーから値を取得するアプリケーションでは、この関数を使用して、 値が DOUBLE として格納されているフォルダーのプロパティの 1 つから値を安全に抽出できます。
ソース VARIANT が VT_R8 型の場合、この関数は DOUBLE 値を抽出します。
ソース VARIANT が型VT_R8でない場合、関数は VARIANT 構造体に格納されている値を DOUBLE に変換しようとします。 変換できない場合、 VariantToDouble はエラー コードを返し、 pdblRet を に 0.0
設定します。 可能な変換の一覧については、「 PropVariantChangeType 」を参照してください。 特に、VT_EMPTYは正常に 0.0 に変換されます。
例
大規模なプログラムの一部として含める次の例では、VariantToDouble を使用して VARIANT 構造体に格納されている DOUBLE 値にアクセスする方法を示します。
// VARIANT var;
// Assume variable var is initialize and valid.
// The application expects var to hold a VT_R8 value.
DOUBLE dblValue;
HRESULT hr = VariantToDouble(var, & dblValue);
if (SUCCEEDED(hr))
{
// dblValue is now valid.
}
else
{
// dblValue is always FALSE.
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | WINDOWS XP と SP2、Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 SP1 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | propvarutil.h |
Library | Propsys.lib |
[DLL] | Propsys.dll (バージョン 6.0 以降) |
再頒布可能パッケージ | Windows デスクトップ検索 (WDS) 3.0 |