次の方法で共有


PropVariantToUInt16Vector 関数 (propvarutil.h)

PROPVARIANT 構造体から、符号なしショート ベクターにデータを抽出します。

構文

PSSTDAPI PropVariantToUInt16Vector(
  [in]  REFPROPVARIANT propvar,
  [out] USHORT         *prgn,
  [in]  ULONG          crgn,
  [out] ULONG          *pcElem
);

パラメーター

[in] propvar

型: REFPROPVARIANT

PROPVARIANT 構造体 ソースへの参照。

[out] prgn

型: USHORT*

crgn符号なし短含むバッファーを指します。 この関数が戻ると、ソースから抽出された符号なし短い 要素pcElem PROPVARIANTでバッファーが初期化されています。

[in] crgn

型: ULONG

要素内の prgn 指すバッファーのサイズ。

[out] pcElem

型: ULONG*

この関数が戻るときに、ソースから抽出 符号なし短いPROPVARIANT 構造体の数を格納します。

戻り値

型: HRESULT

この関数は、これらの値のいずれかを返すことができます。

リターン コード 形容
S_OK
成功した場合は S_OK を返し、それ以外の場合はエラー値を返します。
TYPE_E_BUFFERTOOSMALL
ソース PROPVARIANT には、以上の crgn 値が含まれています。 prgn指すバッファー。
E_INVALIDARG
PROPVARIANT が適切な型ではありません。

備考

このヘルパー関数は、呼び出し元のアプリケーションが、固定数の要素を持つ符号なし短い 値のベクトル 保持する PROPVARIANT を想定している場所で使用されます。

ソース PROPVARIANT に型 VT_VECTOR | VT_UI2 または VT_ARRAY | VT_UI2がある場合、このヘルパー関数は、最大 crgn符号なし短い 値を抽出し、prgnが指すバッファーに配置します。 PROPVARIANT に prgn バッファーに収まるよりも多くの要素が含まれている場合、この関数はエラーを返し、pcElem を 0 に設定します。

より大きなプログラムの一部として含める次の例では、PropVariantToUInt16Vector 使用して、PROPVARIANT符号なし短い ベクター値にアクセスする方法を示します。

// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid
USHORT rgShorts[4]; // The application is expecting propvar to hold 4 USHORTs in a vector
ULONG cElems;
HRESULT hr = PropVariantToUInt16Vector(propvar, rgShorts, ARRAYSIZE(rgShorts), &cElems);
if (SUCCEEDED(hr))
{
     if (cElems == ARRAYSIZE(rgShorts))
     {
         // The application got 4 USHORTs which are now stored in rgShorts
     }
     else
     {
         // The application got cElems which are stored in the first cElems elements of rgShorts
     }
}

必要条件

要件 価値
サポートされる最小クライアント Windows XP SP2、Windows Vista [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 SP1 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー propvarutil.h
ライブラリ Propsys.lib
DLL Propsys.dll (バージョン 6.0 以降)
再頒布可能パッケージの Windows デスクトップ検索 (WDS) 3.0

関連項目

initPropVariantFromUInt16Vector の

PropVariantGetUInt16Elem

PropVariantToUInt16

PropVariantToUInt16VectorAlloc

VariantToUInt16Array