Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |