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 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 |