Compartilhar via


Método IWiaPropertyStorage::GetPropertyAttributes (wia_xp.h)

O método IWiaPropertyStorage::GetPropertyAttributes recupera direitos de acesso e informações de valor legal para um conjunto especificado de propriedades.

Sintaxe

HRESULT GetPropertyAttributes(
  [in]  ULONG          cpspec,
  [in]  PROPSPEC []    rgpspec,
  [out] ULONG []       rgflags,
  [out] PROPVARIANT [] rgpropvar
);

Parâmetros

[in] cpspec

Tipo: ULONG

Especifica o número de atributos de propriedade a serem consultados.

[in] rgpspec

Tipo: PROPSPEC[]

Especifica uma matriz de constantes de propriedade de informações do dispositivo. Cada constante na matriz seleciona uma propriedade a ser consultada.

[out] rgflags

Tipo: ULONG[]

Uma matriz que recebe um descritor de atributo de propriedade para cada propriedade especificada na matriz rgpspec . Cada elemento na matriz é um ou mais valores de descritor combinados com uma operação OR bit a bit.

[out] rgpropvar

Tipo: PROPVARIANT[]

Uma matriz que recebe um descritor de atributo de propriedade para cada propriedade especificada na matriz pPROPSPEC . Para obter mais informações, consulte PROPVARIANT.

Retornar valor

Tipo: HRESULT

Esse método retorna um dos seguintes valores ou um código de erro COM padrão:

Valor Retornado Significado
S_OK Esse método foi bem-sucedido.
S_FALSE Os nomes de propriedade especificados não existem. Nenhum atributo foi recuperado.
STG_E_ACCESSDENIED O aplicativo não tem acesso ao fluxo de propriedades ou o fluxo pode já estar aberto.
STG_E_INSUFFICIENTMEMORY Não há memória suficiente para concluir a operação.
ERROR_NOT_SUPPORTED Não há suporte para o tipo de propriedade.
STG_E_INVALIDPARAMETER Um ou mais parâmetros são inválidos. Uma ou mais das estruturas PROPSPEC contêm dados inválidos.
STG_E_INVALIDPOINTER Um ou mais dos ponteiros passados para esse método são inválidos.
ERROR_NO_UNICODE_TRANSLATION Falha na tradução de Unicode para ANSI ou ANSI para Unicode.

Comentários

Esse método recupera os direitos de acesso à propriedade e os valores de propriedade válidos. Os direitos de acesso relatam se a propriedade é legível, gravável ou ambos. Os valores de propriedade válidos são especificados como um intervalo de valores, uma lista de valores ou um grupo de valores de sinalizador. Para obter mais informações, consulte Atributos de propriedade.

Se o sinalizador de direitos de acesso à propriedade tiver o WIA_PROP_NONE bit definido, nenhuma informação de valor legal estará disponível para essa propriedade. Propriedades e propriedades somente leitura com um tipo de dados binário são exemplos de propriedades que teriam o WIA_PROP_NONE bit definido.

Se a propriedade tiver um intervalo de valores válidos, eles poderão ser determinados por meio do parâmetro rgpropvar após a conclusão desse método. O parâmetro ppvValidValues especifica uma matriz de estruturas PROPVARIANT .

Por exemplo, se o intervalo de propriedades for especificado como VT_VECTOR | VT_UI4, as informações de intervalo podem ser recuperadas por meio do membro da estrutura

rgpropvar[n].caul.pElems[range_specifier]

em que n é o número de índice da propriedade inspecionada e range_specifier é um dos seguintes:

Especificador de intervalo Significado
WIA_RANGE_MAX Valor máximo para o qual a propriedade pode ser definida.
WIA_RANGE_MIN Valor mínimo para o qual a propriedade pode ser definida.
WIA_RANGE_NOM Valor da propriedade normal ou padrão.
WIA_RANGE_STEP Incrementar ou decrementar entre valores de propriedade.
 

Se a propriedade tiver uma lista de valores válidos, os aplicativos os determinarão por meio do parâmetro ppvValidValues após a conclusão desse método.

Por exemplo, se o intervalo de propriedades for especificado como VT_VECTOR | VT_UI4, a lista de valores de propriedade válidos pode ser recuperada por meio do membro da estrutura

rgpropspecValues[n].caul.pElems[list_specifier]

em que n é o número de índice da propriedade que é inspecionada e list_specifier é um dos seguintes:

Especificador de intervalo Significado
WIA_LIST_COUNT Número total de elementos de lista, excluindo o valor nominal.
WIA_LIST_NOM Valor nominal para a propriedade .
WIA_LIST_VALUES O número de índice do primeiro valor.
 

Os programas também usam o parâmetro ppvValidValues para recuperar valores de sinalizador válidos. Por exemplo, se os sinalizadores de propriedade forem especificados como VT_UI4, os valores de sinalizador válidos poderão ser determinados por meio do membro da estrutura

rgpropspec[n].caul.pElems[flag_specifier]

em que n é o número de índice da propriedade que é inspecionada e flag_specifier é um dos seguintes:

Especificador de intervalo Significado
WIA_FLAG_NOM O valor nominal da propriedade.
WIA_FLAG_NUM_ELEMS Número total de elementos de lista, excluindo o valor nominal.
WIA_FLAG_VALUES Todos os valores com todos os bits de sinalizador válidos definidos.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional, Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wia_xp.h (inclua Wia.h)
Biblioteca Wiaguid.lib
DLL Wiaservc.dll

Confira também

IPropertyStorage

IWiaPropertyStorage