PropVariantToInt16-Funktion (propvarutil.h)
Extrahiert einen Int16-Eigenschaftswert einer PROPVARIANT-Struktur .
Syntax
PSSTDAPI PropVariantToInt16(
[in] REFPROPVARIANT propvarIn,
[out] SHORT *piRet
);
Parameter
[in] propvarIn
Typ: REFPROPVARIANT
Verweis auf eine PROPVARIANT-Quellstruktur .
[out] piRet
Typ: SHORT*
Wenn diese Funktion zurückgibt, enthält den extrahierten Eigenschaftswert, sofern vorhanden; andernfalls 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 an Stellen verwendet, an denen die aufrufende Anwendung erwartet, dass ein PROPVARIANT einen Int16-Wert enthält. Für instance kann eine Anwendung, die Werte aus einem Eigenschaftenspeicher bezieht, dies verwenden, um den Int16-Wert für Int16-Eigenschaften sicher zu extrahieren.
Wenn die Propvariant-Quelleden Typ VT_I2 hat, extrahiert diese Hilfsfunktion den Int16-Wert. Andernfalls wird versucht, den Wert in der PROPVARIANT-Struktur in einen Int16-Wert zu konvertieren. Wenn eine Konvertierung nicht möglich ist, gibt PropVariantToInt16 einen Fehlercode zurück und legt piRet auf 0 fest. Eine Liste möglicher Konvertierungen finden Sie unter PropVariantChangeType . Beachten Sie, dass VT_EMPTY erfolgreich in 0 konvertiert wurde.
Beispiele
Im folgenden Beispiel, das als Teil eines größeren Programms eingeschlossen werden soll, wird veranschaulicht, wie PropVariantToInt16 verwendet wird, um auf einen Int16-Wert in einem PROPVARIANT zuzugreifen.
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_Image_ResolutionUnit, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_Image_ResolutionUnit is expected to produce a VT_I2 or VT_EMPTY value.
// PropVariantToInt16 will convert VT_EMPTY to 0.
INT16 iUnit;
hr = PropVariantToInt16(propvar, & iUnit);
if (SUCCEEDED(hr))
{
// iUnit is now valid
}
else
{
// iUnit is always 0
}
PropVariantClear(&propvar);
}
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 |