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

Weitere Informationen

InitPropVariantFromString

PropVariantChangeType

PropVariantToString

PropVariantToStringAlloc

VariantToString