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 |