共用方式為


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 初始化,從 SOURCE PROPVARIANT擷取的不帶正負號短 專案。

[in] crgn

類型:ULONG

元素中 prgn 所指向的緩衝區大小。

[out] pcElem

類型:ULONG*

當此函式傳回時,會包含從SOURCE PROPVARIANT 結構擷取 不帶正負號的簡短 值計數。

傳回值

類型:HRESULT

此函式可以傳回其中一個值。

傳回碼 描述
S_OK
如果成功,則傳回 S_OK,否則傳回錯誤值。
TYPE_E_BUFFERTOOSMALL
source PROPVARIANT 包含超過 crgn 值。 prgn 所指向的緩衝區
E_INVALIDARG
PROPVARIANT 不是適當的類型。

言論

此協助程式函式用於呼叫端應用程式預期有 PROPVARIANT,以固定數目的專案保留 不帶正負號短 值的向量。

如果 source PROPVARIANT 的類型為 VT_VECTOR | VT_UI2VT_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