VariantToDouble-Funktion (propvarutil.h)
Extrahiert einen DOUBLE-Wert aus einer VARIANT-Struktur . Wenn kein Wert extrahiert werden kann, wird ein Standardwert zugewiesen.
Syntax
PSSTDAPI VariantToDouble(
[in] REFVARIANT varIn,
[out] DOUBLE *pdblRet
);
Parameter
[in] varIn
Typ: REFVARIANT
Verweis auf eine VARIANT-Quellstruktur .
[out] pdblRet
Typ: DOUBLE*
Wenn diese Funktion zurückgibt, enthält den extrahierten Wert, sofern vorhanden; andernfalls 0.0.
Rückgabewert
Typ: HRESULT
Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Diese Hilfsfunktion wird verwendet, wenn die aufrufende Anwendung erwartet, dass ein VARIANT-Wert einen DOUBLE-Wert enthält. Für instance kann eine Anwendung, die Werte aus einem Shellordner abruft, diese Funktion verwenden, um den Wert sicher aus einer der Eigenschaften des Ordners zu extrahieren, deren Wert als DOUBLE gespeichert ist.
Wenn die VARIANT-Quelle vom Typ VT_R8 ist, extrahiert diese Funktion den DOUBLE-Wert .
Wenn die VARIANT-Quelle nicht vom Typ VT_R8 ist, versucht die Funktion, den in der VARIANT-Struktur gespeicherten Wert in einen DOUBLE-Wert zu konvertieren. Wenn eine Konvertierung nicht möglich ist, gibt VariantToDouble einen Fehlercode zurück und legt pdblRet auf fest 0.0
. Eine Liste möglicher Konvertierungen finden Sie unter PropVariantChangeType . Beachten Sie, dass VT_EMPTY erfolgreich in 0.0 konvertiert wurde.
Beispiele
Im folgenden Beispiel, das als Teil eines größeren Programms eingeschlossen werden soll, wird veranschaulicht, wie VariantToDouble verwendet wird, um auf einen double-Wert zuzugreifen , der in einer VARIANT-Struktur gespeichert ist.
// VARIANT var;
// Assume variable var is initialize and valid.
// The application expects var to hold a VT_R8 value.
DOUBLE dblValue;
HRESULT hr = VariantToDouble(var, & dblValue);
if (SUCCEEDED(hr))
{
// dblValue is now valid.
}
else
{
// dblValue is always FALSE.
}
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 |