Compartilhar via


Função PropVariantToUInt32WithDefault (propvarutil.h)

Extrai um valor ULONG de uma estrutura PROPVARIANT . Se nenhum valor existir, um valor padrão especificado será retornado.

Sintaxe

PSSTDAPI_(ULONG) PropVariantToUInt32WithDefault(
  [in] REFPROPVARIANT propvarIn,
  [in] ULONG          ulDefault
);

Parâmetros

[in] propvarIn

Tipo: REFPROPVARIANT

Referência a uma estrutura PROPVARIANT de origem .

[in] ulDefault

Tipo: ULONG

Especifica um valor de propriedade padrão, para uso em que nenhum valor existe no momento.

Retornar valor

Tipo: ULONG

Retorna o valor ULONG extraído ou padrão.

Comentários

Essa função auxiliar é usada em locais onde o aplicativo de chamada espera que um PROPVARIANT mantenha um valor ULONG e gostaria de usar um valor padrão se não o fizer. Por exemplo, um aplicativo que obtém valores de um repositório de propriedades pode usar isso para extrair com segurança o valor ULONG para propriedades UInt32 .

Se o PROPVARIANT de origem tiver o tipo VT_UI4, essa função auxiliar extrairá o valor ULONG . Caso contrário, ele tentará converter o valor na estrutura PROPVARIANT em um ULONG. Se o PROPVARIANT de origem tiver o tipo VT_EMPTY ou uma conversão não for possível, PropVariantToUInt32WithDefault retornará o padrão fornecido por ulDefault. Consulte PropVariantChangeType para obter uma lista de conversões possíveis.

Exemplos

O exemplo a seguir, a ser incluído como parte de um programa maior, demonstra como usar PropVariantToUInt32WithDefault para acessar um valor ULONG em um PROPVARIANT.

// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_Rating, &propvar);
if (SUCCEEDED(hr))
{
     // PKEY_Rating is expected to produce a VT_UI4 or VT_EMPTY value.
     // The application developer decided to treat VT_EMPTY or invalid values as 0
     ULONG uRating = PropVariantToUInt32WithDefault(propvar, 0);
     // uRating is now valid.
     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

Confira também

InitPropVariantFromUInt32

PropVariantChangeType

PropVariantToUInt32

VariantToUInt32