Função PropVariantToBooleanVector (propvarutil.h)
Extrai um vetor booliano de uma estrutura PROPVARIANT .
Sintaxe
PSSTDAPI PropVariantToBooleanVector(
[in] REFPROPVARIANT propvar,
[out] BOOL *prgf,
[in] ULONG crgf,
[out] ULONG *pcElem
);
Parâmetros
[in] propvar
Tipo: REFPROPVARIANT
Referência a uma estrutura PROPVARIANT de origem .
[out] prgf
Tipo: BOOL*
Aponta para um buffer que contém valores BOOL crgf. Quando essa função retorna, o buffer foi inicializado com elementos boolianos pcElem extraídos da estrutura PROPVARIANT de origem.
[in] crgf
Tipo: ULONG
Número de elementos no buffer apontado por prgf.
[out] pcElem
Tipo: ULONG*
Quando essa função retorna, contém a contagem de elementos boolianos extraídos da estrutura PROPVARIANT de origem.
Valor retornado
Tipo: HRESULT
Essa função pode retornar um desses valores.
Código de retorno | Descrição |
---|---|
|
Retorna S_OK se tiver êxito ou um valor de erro, caso contrário. |
|
O PROPVARIANT de origem continha mais do que valores crgf . O buffer apontado por prgf. |
|
O PROPVARIANT não era do tipo apropriado. |
Comentários
Essa função auxiliar é usada quando o aplicativo de chamada espera que um PROPVARIANT mantenha um valor de vetor booliano com um número fixo de elementos.
Se o PROPVARIANT de origem tiver o tipo VT_VECTOR | VT_BOOL ou VT_ARRAY | VT_BOOL, essa função auxiliar extrai até valores boolianos crgf e os coloca no buffer apontado por prgf. Se o PROPVARIANT contiver mais elementos do que caberá no buffer prgf , essa função retornará um erro e definirá pcElem como 0.
Exemplos
O exemplo a seguir, a ser incluído como parte de um programa maior, demonstra como usar PropVariantToBooleanVector para acessar um vetor booliano armazenado em um PROPVARIANT.
// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid.
// The application is expecting the propvar variable to hold 4 Booleans
// in a vector.
BOOL rgFlags[4];
ULONG cFlags;
HRESULT hr = PropVariantToBooleanVector(propvar, rgFlags, ARRAYSIZE(rgFlags), &cFlags);
if (SUCCEEDED(hr))
{
if (cFlags == ARRAYSIZE(rgFlags))
{
// The application received 4 flags which are now stored in rgFlags.
}
else
{
// The application received cFlags flags which are now stored in the
// first cFlags elements of rgFlags.
}
}
Requisitos
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 |