Freigeben über


PropVariantToFileTimeVector-Funktion (propvarutil.h)

Extrahiert Daten aus einer PROPVARIANT-Struktur in einen FILETIME-Vektor.

Syntax

PSSTDAPI PropVariantToFileTimeVector(
  [in]  REFPROPVARIANT propvar,
  [out] FILETIME       *prgft,
  [in]  ULONG          crgft,
  [out] ULONG          *pcElem
);

Parameter

[in] propvar

Typ: REFPROPVARIANT

Verweis auf eine PROPVARIANT-Quellstruktur .

[out] prgft

Typ: FILETIME*

Zeigt auf einen Puffer mit crgft FILETIME-Werten. Wenn diese Funktion zurückgibt, wurde der Puffer mit pcElem FILETIME-Elementen initialisiert, die aus der PROPVARIANT-Quellstruktur extrahiert wurden.

[in] crgft

Typ: ULONG

Größe in Elementen des Puffers, auf die von prgft verwiesen wird.

[out] pcElem

Typ: ULONG*

Wenn diese Funktion zurückgibt, enthält die Anzahl der FILETIME-Elemente, die aus der PROPVARIANT-Quellstruktur extrahiert wurden.

Rückgabewert

Typ: HRESULT

Gibt einen der folgenden Werte zurück.

Rückgabecode BESCHREIBUNG
S_OK
Gibt bei erfolgreicher Ausführung S_OK oder andernfalls einen Fehlerwert zurück.
TYPE_E_BUFFERTOOSMALL
Die Propvariant-Quelle enthielt mehr als crgn-Werte. Der Puffer, auf den prgft verweist.
E_INVALIDARG
Propvariant war nicht vom entsprechenden Typ.

Hinweise

Diese Hilfsfunktion wird an Stellen verwendet, an denen die aufrufende Anwendung erwartet, dass ein PROPVARIANT einen filetime-Vektorwert mit einer festen Anzahl von Elementen enthält.

Wenn die Quelle PROPVARIANT den Typ VT_VECTOR | VT_FILETIME extrahiert diese Hilfsfunktion bis zu crgft FILETIME-Werte und platziert sie in den Puffer, auf den prgft verweist. Wenn propvariant mehr Elemente enthält, als in den prgft-Puffer passen, gibt diese Funktion einen Fehler zurück und legt pcElem auf 0 fest.

Die FILETIMEs-Ausgabe verwendet dieselbe Zeitzone wie die QUELLDATEITIMEs.

Beispiele

Im folgenden Beispiel, das als Teil eines größeren Programms eingeschlossen werden soll, wird veranschaulicht, wie PropVariantToFileTimeVector verwendet wird, um auf einen FILETIME-Vektorwert in einem PROPVARIANT zuzugreifen.

// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid
FILETIME rgTimes[4]; // The application is expecting propvar to hold 4 FILETIMEs in a vector
ULONG cTimes;
HRESULT hr = PropVariantToFileTimeVector(propvar, rgTime, ARRAYSIZE(rgTime), &cTimes);
if (SUCCEEDED(hr))
{
     if (cTimes == ARRAYSIZE(rgTime))
     {
         // The application got 4 FILETIMEs which are now stored in rgTime
     }
     else
     {
         // The application got cTimes which are stored in the first cTimes elements of rgTime
     }
}

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

InitPropVariantFromFileTimeVector

PropVariantToFileTime

PropVariantToFileTimeVectorAlloc