VariantToDoubleArray-Funktion (propvarutil.h)
Extrahiert ein Array von DOUBLE-Werten aus einer VARIANT-Struktur .
Syntax
PSSTDAPI VariantToDoubleArray(
[in] REFVARIANT var,
[out] DOUBLE *prgn,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Parameter
[in] var
Typ: REFVARIANT
Verweis auf eine VARIANT-Quellstruktur .
[out] prgn
Typ: DOUBLE*
Zeiger auf einen Puffer, der crgnDOUBLE-Werte enthält. Wenn diese Funktion zurückgibt, wurde der Puffer mit *pcElemDOUBLE-Elementen initialisiert, die aus der VARIANT-Quellstruktur extrahiert wurden.
[in] crgn
Typ: ULONG
Die Anzahl der Elemente im Puffer, auf die prgn verweist.
[out] pcElem
Typ: ULONG*
Wenn diese Funktion zurückgibt, enthält die Anzahl der DOUBLE-Elemente , die aus der VARIANT-Quellstruktur extrahiert wurden.
Rückgabewert
Typ: HRESULT
Gibt bei erfolgreicher Ausführung S_OK oder andernfalls einen Fehlerwert zurück, einschließlich der folgenden:
Rückgabecode | Beschreibung |
---|---|
|
Die Variant-Quelle enthielt mehr als crgn-Werte . |
|
Der VARIANT-Typ war nicht vom geeigneten Typ. |
Hinweise
Diese Hilfsfunktion wird verwendet, wenn die aufrufende Anwendung erwartet, dass ein VARIANT-Array enthält, das aus einer festen Anzahl von DOUBLE-Werten besteht.
Wenn die Quelle VARIANT den Typ VT_ARRAY | VT_DOUBLE extrahiert diese Funktion bis zu crgnDOUBLE-Werte und platziert sie in den Puffer, auf den prgn verweist.
Wenn variant 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 VariantToDoubleArray für den Zugriff auf ein in einem VARIANT gespeichertes DOUBLE-Array verwendet wird.
// VARIANT var;
// Assume variable var is initialized and valid.
DOUBLE rgDoubles[4]; // The application expects var to hold 4 DOUBLEs in an array.
ULONG cDoubles;
HRESULT hr = VariantToDoubleArray(var, rgDoubles, ARRAYSIZE(rgDoubles), &cFlags);
if (SUCCEEDED(hr))
{
if (cFlags == ARRAYSIZE(rgDoubles))
{
// The application got 4 DOUBLEs which are now stored in rgDoubles.
}
else
{
// The application got *pcElem DOUBLEs which are stored in the first
// *pcElem elements of rgDoubles.
}
}
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 |