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 |