Função InitPropVariantFromPropVariantVectorElem (propvarutil.h)
Inicializa uma estrutura PROPVARIANT com base em um elemento vetor PROPVARIANT especificado.
Sintaxe
PSSTDAPI InitPropVariantFromPropVariantVectorElem(
[in] REFPROPVARIANT propvarIn,
[in] ULONG iElem,
[out] PROPVARIANT *ppropvar
);
Parâmetros
[in] propvarIn
Tipo: REFPROPVARIANT
A estrutura PROPVARIANT de origem .
[in] iElem
Tipo: ULONG
O índice do elemento de estrutura PROPVARIANT de origem.
[out] ppropvar
Tipo: PROPVARIANT*
Quando essa função retorna, contém a estrutura PROPVARIANT inicializada.
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 funciona para estruturas PROPVARIANT dos seguintes tipos:
- VT_LPWSTR
- VT_BSTR
- VT_BOOL
- VT_I2
- VT_I4
- VT_I8
- VT_U12
- VT_U14
- VT_U18
- VT_FILETIME
- VT_VECTOR | (qualquer um dos VT_LPWSTR, VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18, VT_FILETIME)
- VT_ARRAY | (qualquer um dos VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18)
Essa função extrai um único valor da estrutura PROPVARIANT de origem e usa esse valor para inicializar a estrutura PROPVARIANT de saída. O aplicativo de chamada deve usar PropVariantClear para liberar o PROPVARIANT referenciado por ppropvar quando ele não for mais necessário.
Se o PROPVARIANT de origem for um vetor ou matriz, iElem deverá ser menor que o número de elementos no vetor ou na matriz.
Se o PROPVARIANT de origem tiver um único valor, iElem deverá ser 0.
Se o PROPVARIANT de origem estiver vazio, essa função sempre retornará um código de erro.
Você pode usar PropVariantGetElementCount para obter o número de elementos no vetor ou na matriz.
Exemplos
O exemplo de código a seguir, a ser incluído como parte de um programa maior, demonstra como usar InitPropVariantFromPropVariantVectorElem em uma instrução de iteração para acessar os valores em um PROPVARIANT.
// PROPVARIANT propvar;
// Assume propvar is initialized and valid.
UINT cElem = PropVariantGetElementCount(propvar);
HRESULT hr = <mark type="const">S_OK</mark>;
for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
PROPVARIANT propvarElem = {0};
hr = InitPropVariantFromPropVariantVectorElem(propvar, iElem, &propvarElem);
if (SUCCEEDED(hr))
{
// propvarElem is now valid.
PropVariantClear(&propvarElem);
}
}
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 |