Compartilhar via


Função PropVariantToFileTime (propvarutil.h)

Extrai a estrutura FILETIME de uma estrutura PROPVARIANT .

Sintaxe

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

Parâmetros

[in] propvar

Tipo: REFPROPVARIANT

Referência a uma estrutura PROPVARIANT de origem .

[in] pstfOut

Tipo: PSTIME_FLAGS

Especifica um dos sinalizadores de tempo a seguir.

PSTF_UTC (0)

Indica que a saída usará o tempo universal coordenado.

PSTF_LOCAL (1)

Indica que a saída usará a hora local.

[out] pftOut

Tipo: FILETIME*

Quando essa função retorna, contém a estrutura FILETIME extraída.

Retornar valor

Tipo: HRESULT

Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Essa função auxiliar é usada em locais em que o aplicativo de chamada espera que um PROPVARIANT mantenha um único valor de tempo de arquivo. Por exemplo, um aplicativo que obtém valores de um repositório de propriedades pode usá-lo para extrair com segurança um valor filetime para propriedades filetime.

Se o PROPVARIANT de origem tiver tipo VT_FILETIME ou VT_DATE, essa função auxiliar extrairá o valor como FILETIME usando o fuso horário especificado por pstfOut. Se o PROPVARIANT de origem for VT_EMPTY ou qualquer outro tipo, essa função retornará um resultado de falha.

O PROPVARIANT de origem deve estar em UTC (Tempo Universal Coordenado). Os sinalizadores PSTF_UTC e PSTF_LOCAL permitem que o aplicativo de chamada especifique em qual fuso horário a saída deve ser convertida.

Exemplos

O exemplo a seguir, a ser incluído como parte de um programa maior, demonstra como usar PropVariantToFileTime para acessar um valor FILETIME em um 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);
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP com SP2, Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 com SP1 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho propvarutil.h
Biblioteca Propsys.lib
DLL Propsys.dll (versão 6.0 ou posterior)
Redistribuível Pesquisa da Área de Trabalho do Windows (WDS) 3.0

Confira também

InitPropVariantFromFileTime

PropVariantChangeType

PropVariantToFileTimeVector

VariantToFileTime