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 |
---|---|
|
Gibt S_OK zurück, wenn dies erfolgreich ist, oder einen anderen Fehlerwert. |
|
Die Quelle PROPVARIANT mehr als crgn- Werte enthalten. Der Puffer, auf den prgnverweist. |
|
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-