Condividi tramite


Funzione PropVariantToFileTimeVector (propvarutil.h)

Estrae i dati da una struttura PROPVARIANT in un vettore FILETIME.

Sintassi

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

Parametri

[in] propvar

Tipo: REFPROPVARIANT

Riferimento a una struttura PROPVARIANT di origine.

[out] prgft

Tipo: FILETIME*

Punta a un buffer contenente valori FILETIME crgft . Quando questa funzione viene restituita, il buffer è stato inizializzato con gli elementi PCElem FILETIME estratti dalla struttura PROPVARIANT di origine.

[in] crgft

Tipo: ULONG

Dimensioni negli elementi del buffer a cui punta prgft.

[out] pcElem

Tipo: ULONG*

Quando questa funzione viene restituita, contiene il conteggio degli elementi FILETIME estratti dalla struttura PROPVARIANT di origine.

Valore restituito

Tipo: HRESULT

Restituisce uno dei valori seguenti.

Codice restituito Descrizione
S_OK
Restituisce S_OK in caso di esito positivo o un valore di errore in caso contrario.
TYPE_E_BUFFERTOOSMALL
L'origine PROPVARIANT contiene più valori crgn. Buffer a cui punta prgft.
E_INVALIDARG
PropVARIANT non era del tipo appropriato.

Commenti

Questa funzione helper viene usata in posizioni in cui l'applicazione chiamante prevede che un PROPVARIANT contenga un valore vettore filetime con un numero fisso di elementi.

Se l'origine PROPVARIANT ha tipo VT_VECTOR | VT_FILETIME, questa funzione helper estrae fino a crgft valori FILETIME e li inserisce nel buffer a cui punta prgft. Se PROPVARIANT contiene più elementi che saranno inseriti nel buffer prgft , questa funzione restituisce un errore e imposta pcElem su 0.

I FILETIMEs di output useranno lo stesso fuso orario dei FILETIMEs di origine.

Esempio

Nell'esempio seguente, da includere come parte di un programma più ampio, viene illustrato come usare PropVariantToFileTimeVector per accedere a un valore di vettore FILETIME in un PROPVARIANT.

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

Requisiti

Requisito Valore
Client minimo supportato Windows XP con SP2, Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 con SP1 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione propvarutil.h
Libreria Propsys.lib
DLL Propsys.dll (versione 6.0 o successiva)
Componente ridistribuibile Windows Desktop Search (WDS) 3.0

Vedi anche

InitPropVariantFromFileTimeVector

PropVariantToFileTime

PropVariantToFileTimeVectorAlloc