Freigeben über


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

Weitere Informationen

InitVariantFromDouble

PropVariantChangeType

PropVariantToDouble

VariantToDoubleArray