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 Vektor mit langen Werten aus einer PROPVARIANT-Struktur .
Syntax
PSSTDAPI PropVariantToInt32Vector(
[in] REFPROPVARIANT propvar,
[out] LONG *prgn,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Parameter
[in] propvar
Typ: REFPROPVARIANT
Verweis auf eine PROPVARIANT-Quellstruktur .
[out] prgn
Typ: LONG*
Zeigt auf einen Puffer mit crgnLONG-Werten . Wenn diese Funktion zurückgibt, wurde der Puffer mit pcElemLONG-Elementen initialisiert, die aus der Propvariant-Quelle extrahiert wurden.
[in] crgn
Typ: ULONG
Größe des Puffers, auf den prgn in Elementen verweist.
[out] pcElem
Typ: ULONG*
Wenn diese Funktion zurückgibt, enthält die Anzahl der LONG-Elemente , die aus der Quellstruktur PROPVARIANT extrahiert wurden.
Rückgabewert
Typ: HRESULT
Diese Funktion kann einen dieser Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Gibt bei erfolgreicher Ausführung S_OK oder andernfalls einen Fehlerwert zurück. |
|
Die Propvariant-Quelle enthielt mehr als crgn-Werte. Der Puffer, auf den prgn verweist. |
|
Propvariant war nicht vom entsprechenden Typ. |
Hinweise
Diese Hilfsfunktion wird an Stellen verwendet, an denen die aufrufende Anwendung erwartet, dass eine PROPVARIANT einen Vektor von LONG-Werten mit einer festen Anzahl von Elementen enthält.
Wenn die Propvariant-Quelleden Typ VT_VECTOR | VT_I4 oder VT_ARRAY | VT_I4 hat, extrahiert diese Hilfsfunktion bis zu crgnLONG-Werte und platziert sie in den Puffer, auf den prgn verweist. Wenn propvariant mehr Elemente enthält, als in den prgn-Puffer passen, gibt diese Funktion einen Fehler zurück und legt pcElem auf 0 fest.
Beispiele
Im folgenden Beispiel, das als Teil eines größeren Programms eingeschlossen werden soll, wird veranschaulicht, wie PropVariantToInt32Vector verwendet wird, um auf einen Int32-Vektorwert in einem PROPVARIANT zuzugreifen.
// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid
LONG rgLongs[4]; // The application is expecting propvar to hold 4 LONGs in a vector
ULONG cElems;
HRESULT hr = PropVariantToInt32Vector(propvar, rgLongs, ARRAYSIZE(rgLongs), &cElems);
if (SUCCEEDED(hr))
{
if (cElems == ARRAYSIZE(rgLongs))
{
// The application got 4 LONGs which are now stored in rgLongs
}
else
{
// The application got cElems which are stored in the first cElems elements of rgLongs
}
}
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 |