Compartilhar via


Função PropVariantToFileTimeVector (propvarutil.h)

Extrai dados de uma estrutura PROPVARIANT em um vetor FILETIME.

Sintaxe

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

Parâmetros

[in] propvar

Tipo: REFPROPVARIANT

Referência a uma estrutura PROPVARIANT de origem .

[out] prgft

Tipo: FILETIME*

Aponta para um buffer que contém valores FILETIME crgft . Quando essa função retorna, o buffer foi inicializado com elementos pcElem FILETIME extraídos da estrutura PROPVARIANT de origem.

[in] crgft

Tipo: ULONG

Tamanho em elementos do buffer apontado por prgft.

[out] pcElem

Tipo: ULONG*

Quando essa função retorna, contém a contagem de elementos FILETIME extraídos da estrutura PROPVARIANT de origem.

Retornar valor

Tipo: HRESULT

Retorna um dos valores a seguir.

Código de retorno Descrição
S_OK
Retorna S_OK se tiver êxito ou um valor de erro, caso contrário.
TYPE_E_BUFFERTOOSMALL
O PROPVARIANT de origem continha mais do que valores crgn. O buffer apontado por prgft.
E_INVALIDARG
O PROPVARIANT não era do tipo apropriado.

Comentários

Essa função auxiliar é usada em locais onde o aplicativo de chamada espera que um PROPVARIANT mantenha um valor de vetor de tempo de arquivo com um número fixo de elementos.

Se o PROPVARIANT de origem tiver o tipo VT_VECTOR | VT_FILETIME, essa função auxiliar extrai até valores FILETIME crgft e os coloca no buffer apontado por prgft. Se o PROPVARIANT contiver mais elementos do que caberá no buffer de prgft , essa função retornará um erro e definirá pcElem como 0.

Os FILETIMEs de saída usarão o mesmo fuso horário que os FILETIMEs de origem.

Exemplos

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

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

InitPropVariantFromFileTimeVector

PropVariantToFileTime

PropVariantToFileTimeVectorAlloc