PropVariantToStringWithDefault-Funktion (propvarutil.h)
Extrahiert den Wert der Zeichenfolgeneigenschaft einer PROPVARIANT-Struktur . Wenn kein Wert vorhanden ist, wird der angegebene Standardwert zurückgegeben.
Syntax
PSSTDAPI_(PCWSTR) PropVariantToStringWithDefault(
[in] REFPROPVARIANT propvarIn,
[in] LPCWSTR pszDefault
);
Parameter
[in] propvarIn
Typ: REFPROPVARIANT
Verweis auf eine PROPVARIANT-Quellstruktur .
[in] pszDefault
Typ: LPCWSTR
Zeiger auf einen Unicode-Standardzeichenfolgenwert für die Verwendung, wenn derzeit kein Wert vorhanden ist. Kann NULL sein.
Rückgabewert
Typ: PCWSTR
Gibt den Zeichenfolgenwert, den Standardwert oder den Standardwert zurück.
Hinweise
Diese Hilfsfunktion wird an Stellen verwendet, an denen die aufrufende Anwendung erwartet, dass ein PROPVARIANT einen Zeichenfolgenwert enthält, und wenn dies nicht der Fall ist, einen Standardwert verwenden möchte. Für instance kann eine Anwendung, die Werte aus einem Eigenschaftenspeicher erhält, dies verwenden, um den Zeichenfolgenwert für Zeichenfolgeneigenschaften sicher zu extrahieren.
Wenn die PROPVARIANT-Quelle den Typ VT_LPWSTR oder VT_BSTR aufweist, gibt diese Hilfsfunktion einen Zeiger auf den Wert in der Quelle PROPVARIANT zurück. Wenn die PROPVARIANT-Quelle den Typ VT_EMPTY hat oder eine Konvertierung nicht möglich ist, gibt PropVariantToStringWithDefault die von pszDefault bereitgestellte Standardeinstellung zurück.
Beachten Sie, dass diese Funktion Zeiger auf daten zurückgibt, die in den Parametern angegeben werden. Daher muss die Anwendung sicherstellen, dass die für die Parameter bereitgestellten Daten gültig bleiben, bis das Ergebnis nicht mehr verwendet wird.
Beispiele
Im folgenden Beispiel, das als Teil eines größeren Programms eingeschlossen werden soll, wird veranschaulicht, wie PropVariantToStringWithDefault verwendet wird, um auf einen Zeichenfolgenwert in einem PROPVARIANT zuzugreifen.
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_Title, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_Title is expected to produce a VT_LPWSTR or VT_EMPTY value.
// The application developer decided to treat VT_EMPTY or invalid values as ""
PCWSTR pszTitle = PropVariantToStringWithDefault(propvar, L"");
// pszTitle is now valid.
PropVariantClear(&propvar);
}
// ... later in the program ...
hr = ppropstore->GetValue(PKEY_Comment, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_Comment is expected to produce a VT_LPWSTR or VT_EMPTY value.
// The application developer decided to treat VT_EMPTY as NULL
PCWSTR pszComment = PropVariantToStringWithDefault(propvar, NULL);
if (pszComment)
{
// pszComment is valid
}
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 |