Partager via


Fonction PropVariantToFileTime (propvarutil.h)

Extrait la structure FILETIME d’une structure PROPVARIANT .

Syntaxe

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

Paramètres

[in] propvar

Type : REFPROPVARIANT

Référence à une structure PROPVARIANT source.

[in] pstfOut

Type : PSTIME_FLAGS

Spécifie l’un des indicateurs de temps suivants.

PSTF_UTC (0)

Indique que la sortie utilisera le temps universel coordonné.

PSTF_LOCAL (1)

Indique que la sortie utilisera l’heure locale.

[out] pftOut

Type : FILETIME*

Lorsque cette fonction est retournée, contient la structure FILETIME extraite.

Valeur retournée

Type : HRESULT

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Cette fonction d’assistance est utilisée dans les endroits où l’application appelante s’attend à ce qu’un PROPVARIANT contienne une seule valeur filetime. Par instance, une application qui obtient des valeurs à partir d’un magasin de propriétés peut l’utiliser pour extraire en toute sécurité une valeur filetime pour les propriétés filetime.

Si la source PROPVARIANT a le type VT_FILETIME ou VT_DATE, cette fonction d’assistance extrait la valeur en tant que FILETIME à l’aide du fuseau horaire spécifié par pstfOut. Si la source PROPVARIANT est VT_EMPTY ou tout autre type, cette fonction retourne un résultat d’échec.

La source PROPVARIANT doit être en temps universel coordonné (UTC). Les indicateurs PSTF_UTC et PSTF_LOCAL permettent à l’application appelante de spécifier le fuseau horaire vers lequel la sortie doit être convertie.

Exemples

L’exemple suivant, à inclure dans le cadre d’un programme plus large, montre comment utiliser PropVariantToFileTime pour accéder à une valeur FILETIME dans 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);
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP avec SP2, Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 avec SP1 [applications de bureau uniquement]
Plateforme cible Windows
En-tête propvarutil.h
Bibliothèque Propsys.lib
DLL Propsys.dll (version 6.0 ou ultérieure)
Composant redistribuable Windows Desktop Search (WDS) 3.0

Voir aussi

InitPropVariantFromFileTime

PropVariantChangeType

PropVariantToFileTimeVector

VariantToFileTime