PropVariantToUInt64Vector-Funktion (propvarutil.h)
Extrahiert Daten aus einer PROPVARIANT-Struktur in einen ULONGLONG-Vektor .
Syntax
PSSTDAPI PropVariantToUInt64Vector(
[in] REFPROPVARIANT propvar,
[out] ULONGLONG *prgn,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Parameter
[in] propvar
Typ: REFPROPVARIANT
Verweis auf eine PROPVARIANT-Quellstruktur .
[out] prgn
Typ: ULONGLONG*
Verweist auf einen Puffer, der crgnULONGLONG-Werte enthält. Wenn diese Funktion zurückgibt, wurde der Puffer mit pcElemULONGLONG-Elementen initialisiert, die aus der PROPVARIANT-Quelle extrahiert wurden.
[in] crgn
Typ: ULONG
Größe des Puffers, auf den prgn in -Elementen verweist.
[out] pcElem
Typ: ULONG*
Wenn diese Funktion zurückgibt, enthält die Anzahl der ULONGLONGLONG-Werte , die aus der PROPVARIANT-Quellstruktur extrahiert wurden.
Rückgabewert
Typ: HRESULT
Diese Funktion kann einen dieser Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Gibt bei erfolgreicher Ausführung S_OK oder andernfalls einen Fehlerwert zurück. |
|
Die PROPVARIANT-Quelle enthielt mehr als crgn-Werte . Der Puffer, auf den prgn verweist. |
|
PropVARIANT war nicht vom geeigneten Typ. |
Hinweise
Diese Hilfsfunktion wird an Stellen verwendet, an denen die aufrufende Anwendung erwartet, dass propvariant einen Vektor von ULONGLONG-Werten mit einer festen Anzahl von Elementen enthält.
Wenn die PROPVARIANT-Quelleden Typ VT_VECTOR | VT_UI8 oder VT_ARRAY | VT_UI8 aufweist, extrahiert diese Hilfsfunktion bis zu crgn-ULONGLONG-Werte und platziert sie in den Puffer, auf den prgn verweist. Wenn 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, das als Teil eines größeren Programms eingeschlossen werden soll, wird veranschaulicht, wie PropVariantToUInt64Vector verwendet wird, um auf einen ULONGLONG-Vektorwert in einem PROPVARIANT zuzugreifen.
// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid
ULONGLONG rgLongs[4]; // The application is expecting propvar to hold 4 ULONGLONGs in a vector
ULONG cElems;
HRESULT hr = PropVariantToUInt64Vector(propvar, rgLongs, ARRAYSIZE(rgLongs), &cElems);
if (SUCCEEDED(hr))
{
if (cElems == ARRAYSIZE(rgLongs))
{
// The application got 4 ULONGLONGs which are now stored in rgLongs
}
else
{
// The application got cElems which are stored in the first cElems elements of rgLongs
}
}
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
InitPropVariantFromUInt64Vector