VariantToDoubleArray 関数 (propvarutil.h)
VARIANT 構造体から DOUBLE 値の配列を抽出します。
構文
PSSTDAPI VariantToDoubleArray(
[in] REFVARIANT var,
[out] DOUBLE *prgn,
[in] ULONG crgn,
[out] ULONG *pcElem
);
パラメーター
[in] var
型: REFVARIANT
ソース VARIANT 構造体への参照。
[out] prgn
種類: DOUBLE*
crgnDOUBLE 値を含むバッファーへのポインター。 この関数が戻ると、バッファーはソース VARIANT 構造体から抽出された *pcElemDOUBLE 要素で初期化されています。
[in] crgn
種類: ULONG
prgn が指すバッファー内の要素の数。
[out] pcElem
種類: ULONG*
この関数が戻るとき、 には、ソース VARIANT 構造体から抽出された DOUBLE 要素の数が含まれます。
戻り値
種類: HRESULT
成功 した場合はS_OK を返し、それ以外の場合は次のようなエラー値を返します。
リターン コード | 説明 |
---|---|
|
ソース VARIANT に crgn 値を超える値が含まれていました。 |
|
VARIANT が適切な型ではありません。 |
注釈
このヘルパー関数は、呼び出し元のアプリケーションが VARIANT が、固定数の DOUBLE 値で構成される配列を保持することを想定している場合に使用されます。
ソース VARIANT の型が VT_ARRAY の場合 |VT_DOUBLE、この関数は最大 crgnDOUBLE 値を抽出し、 prgn が指すバッファーに配置します。
VARIANT に prgn バッファーに収まるより多くの要素が含まれている場合、この関数はエラーを返し、*pcElem を 0 に設定します。
例
大規模なプログラムの一部として含める次の例では、VariantToDoubleArray を使用して VARIANT に格納されている DOUBLE 配列にアクセスする方法を示します。
// VARIANT var;
// Assume variable var is initialized and valid.
DOUBLE rgDoubles[4]; // The application expects var to hold 4 DOUBLEs in an array.
ULONG cDoubles;
HRESULT hr = VariantToDoubleArray(var, rgDoubles, ARRAYSIZE(rgDoubles), &cFlags);
if (SUCCEEDED(hr))
{
if (cFlags == ARRAYSIZE(rgDoubles))
{
// The application got 4 DOUBLEs which are now stored in rgDoubles.
}
else
{
// The application got *pcElem DOUBLEs which are stored in the first
// *pcElem elements of rgDoubles.
}
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | WINDOWS XP と SP2、Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 SP1 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | propvarutil.h |
Library | Propsys.lib |
[DLL] | Propsys.dll (バージョン 6.0 以降) |
再頒布可能パッケージ | Windows デスクトップ検索 (WDS) 3.0 |