Freigeben über


PropVariantToUInt16Vector-Funktion (propvarutil.h)

Extrahiert Daten aus einer PROPVARIANT- Struktur in einen nicht signierten kurzen Vektor.

Syntax

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

Parameter

[in] propvar

Typ: REFPROPVARIANT-

Verweisen auf eine Quelle PROPVARIANT- Struktur.

[out] prgn

Typ: USHORT*

Verweist auf einen Puffer mit crgnnicht signierten kurzen Werten. Wenn diese Funktion zurückgegeben wird, wurde der Puffer mit pcElem initialisiert,nicht signierte kurze Elemente, die aus der Quelle PROPVARIANTextrahiert wurden.

[in] crgn

Typ: ULONG-

Größe des Puffers, auf den durch prgn in Elementen verwiesen wird.

[out] pcElem

Typ: ULONG*

Wenn diese Funktion zurückgegeben wird, enthält die Anzahl der nicht signierten kurzen Werte, die aus der Quelle PROPVARIANT Struktur extrahiert wurden.

Rückgabewert

Typ: HRESULT-

Diese Funktion kann einen dieser Werte zurückgeben.

Rückgabecode Beschreibung
S_OK
Gibt S_OK zurück, wenn dies erfolgreich ist, oder einen anderen Fehlerwert.
TYPE_E_BUFFERTOOSMALL
Die Quelle PROPVARIANT mehr als crgn- Werte enthalten. Der Puffer, auf den prgnverweist.
E_INVALIDARG
Die PROPVARIANT- war nicht vom geeigneten Typ.

Bemerkungen

Diese Hilfsfunktion wird an Stellen verwendet, an denen die aufrufende Anwendung erwartet, dass ein PROPVARIANT- einen Vektor mit nicht signierten kurzen Werten mit einer festen Anzahl von Elementen enthält.

Wenn die Quelle PROPVARIANT Typ VT_VECTOR | VT_UI2 oder VT_ARRAY | VT_UI2hat, extrahiert diese Hilfsfunktion bis zu crgnnicht signierte kurze Werte und platziert sie in den Puffer, auf den prgnverweist. Wenn die PROPVARIANT- mehr Elemente enthält, als in den Prgn-Puffer passen, gibt diese Funktion einen Fehler zurück und legt pcElem auf 0 fest.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie sie PropVariantToUInt16Vector- verwenden, um auf einen nicht signierten kurzen Vektorwert in einem PROPVARIANT-zuzugreifen.

// 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
     }
}

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP mit SP2, Windows Vista [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 mit SP1 [nur Desktop-Apps]
Zielplattform- Fenster
Header- propvarutil.h
Library Propsys.lib
DLL- Propsys.dll (Version 6.0 oder höher)
redistributable Windows Desktop Search (WDS) 3.0

Siehe auch

InitPropVariantFromUInt16Vector-

PropVariantGetUInt16Elem

PropVariantToUInt16-

PropVariantToUInt16VectorAlloc

VariantToUInt16Array-