Freigeben über


PropVariantToUInt16VectorAlloc-Funktion (propvarutil.h)

Extrahiert Daten aus einer PROPVARIANT-Struktur in einen neu zugeordneten kurzen Vektor ohne Vorzeichen .

Syntax

PSSTDAPI PropVariantToUInt16VectorAlloc(
  [in]  REFPROPVARIANT propvar,
  [out] USHORT         **pprgn,
  [out] ULONG          *pcElem
);

Parameter

[in] propvar

Typ: REFPROPVARIANT

Verweis auf eine PROPVARIANT-Quellstruktur .

[out] pprgn

Typ: USHORT**

Wenn diese Funktion zurückgibt, enthält einen Zeiger auf einen Vektor von unsignierten kurzen Werten, die aus der PROPVARIANT-Quellstruktur extrahiert wurden.

[out] pcElem

Typ: ULONG*

Wenn diese Funktion zurückgibt, enthält die Anzahl der unsignierten kurzen Werte, die aus der PROPVARIANT-Quellstruktur 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 war, oder andernfalls einen Fehlerwert.
E_INVALIDARG
Propvariant war nicht vom entsprechenden Typ.

Hinweise

Diese Hilfsfunktion wird an Stellen verwendet, an denen die aufrufende Anwendung erwartet, dass eine PROPVARIANT einen Vektor mit unsignierten kurzen Werten enthält.

Wenn die Propvariant-Quelleden Typ VT_VECTOR | VT_UI2 oder VT_ARRAY | VT_UI2 hat, extrahiert diese Funktion einen Vektor von unsignierten kurzen Werten in einen neu zugeordneten Vektor. Die aufrufende Anwendung ist für die Verwendung von CoTaskMemFree verantwortlich, um den von pprgn angezeigten Vektor freizugeben, wenn er nicht mehr benötigt wird.

Beispiele

Im folgenden Beispiel, das als Teil eines größeren Programms eingeschlossen werden soll, wird veranschaulicht, wie PropVariantToUInt16VectorAlloc verwendet wird, um auf einen nicht signierten kurzen Vektorwert in einer PROPVARIANT zuzugreifen.

// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid. The application is expecting propvar to contain a vector of <dtype rid="ushort"/> values.
USHORT *prgShorts;
ULONG cElems;
HRESULT hr = PropVariantToUInt16VectorAlloc(propvar, & prgShorts, &cElems);
if (SUCCEEDED(hr))
{
     // prgShorts now points to a vector of cElems USHORTs.
     CoTaskMemFree(prgShorts);
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP mit SP2, Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 mit SP1 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile propvarutil.h
Bibliothek Propsys.lib
DLL Propsys.dll (Version 6.0 oder höher)
Verteilbare Komponente Windows Desktop Search (WDS) 3.0

Weitere Informationen

InitPropVariantFromUInt16Vector

PropVariantGetUInt16Elem

PropVariantToUInt16

PropVariantToUInt16Vector

VariantToUInt16Array