Condividi tramite


Funzione PropVariantToFileTime (propvarutil.h)

Estrae la struttura FILETIME da una struttura PROPVARIANT .

Sintassi

PSSTDAPI PropVariantToFileTime(
  [in]  REFPROPVARIANT propvar,
  [in]  PSTIME_FLAGS   pstfOut,
  [out] FILETIME       *pftOut
);

Parametri

[in] propvar

Tipo: REFPROPVARIANT

Riferimento a una struttura PROPVARIANT di origine.

[in] pstfOut

Tipo: PSTIME_FLAGS

Specifica uno dei flag di ora seguenti.

PSTF_UTC (0)

Indica che l'output userà l'ora universale coordinata.

PSTF_LOCAL (1)

Indica che l'output userà l'ora locale.

[out] pftOut

Tipo: FILETIME*

Quando termina, questa funzione contiene la struttura FILETIME estratta.

Valore restituito

Tipo: HRESULT

Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Questa funzione helper viene usata in posizioni in cui l'applicazione chiamante prevede che un PROPVARIANT contenga un singolo valore filetime. Ad esempio, un'applicazione che ottiene valori da un archivio proprietà può usarla per estrarre in modo sicuro un valore filetime per le proprietà filetime.

Se l'origine PROPVARIANT ha tipo VT_FILETIME o VT_DATE, questa funzione helper estrae il valore come FILETIME usando il fuso orario specificato da pstfOut. Se l'origine PROPVARIANT è VT_EMPTY o qualsiasi altro tipo, questa funzione restituisce un risultato di errore.

Il PROPVARIANT di origine deve essere in formato UTC (Coordinated Universal Time). I flag PSTF_UTC e PSTF_LOCAL consentono all'applicazione chiamante di specificare il fuso orario in cui deve essere convertito l'output.

Esempio

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

// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_DateModified, &propvar);
if (SUCCEEDED(hr))
{
     // PKEY_DateModified is expected to produce a VT_FILETIME or VT_EMPTY value.
     // PropVariantToFileTime will return a failure code for VT_EMPTY
     FILETIME ftModified;
     hr = PropVariantToFileTime(propvar, PSTF_UTC, &ftModified);
     if (SUCCEEDED(hr))
     {
        // ftModified is now valid and contains a file time in UTC
     }
     else
     {
        // Unable to convert propvar to a FILETIME
     }
     PropVariantClear(&propvar);
}

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

InitPropVariantFromFileTime

PropVariantChangeType

PropVariantToFileTimeVector

VariantToFileTime