Função PropVariantToBoolean (propvarutil.h)
Extrai um valor de propriedade booliana de uma estrutura PROPVARIANT . Se nenhum valor puder ser extraído, um valor padrão será atribuído.
Sintaxe
PSSTDAPI PropVariantToBoolean(
[in] REFPROPVARIANT propvarIn,
[out] BOOL *pfRet
);
Parâmetros
[in] propvarIn
Tipo: REFPROPVARIANT
Referência a uma estrutura PROPVARIANT de origem .
[out] pfRet
Tipo: BOOL*
Quando essa função retorna, contém o valor da propriedade extraída, se houver; caso contrário, contém FALSE.
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 valor booliano. Por exemplo, um aplicativo que obtém valores de um repositório de propriedades pode usá-lo para extrair com segurança o valor booliano para propriedades boolianas.
Se o PROPVARIANT de origem tiver tipo VT_BOOL, essa função auxiliar extrairá o valor booliano. Caso contrário, ele tentará converter o valor na estrutura PROPVARIANT em um booliano. Se uma conversão não for possível, PropVariantToBoolean retornará um código de falha e definirá pfRet como FALSE. Consulte PropVariantChangeType para obter uma lista de conversões possíveis. Observe que VT_EMPTY é convertido com êxito em FALSE.
Exemplos
O exemplo a seguir, a ser incluído como parte de um programa maior, demonstra como usar PropVariantToBoolean para acessar um valor booliano em um PROPVARIANT.
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_IsShared, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_IsShared is expected to produce a VT_BOOL or VT_EMPTY value.
// PropVariantToBoolean will convert VT_EMPTY to FALSE.
BOOL fShared;
hr = PropVariantToBoolean(propvar, &fShared);
if (SUCCEEDED(hr))
{
// fShared is now valid
}
else
{
// fShared is always FALSE
}
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 |