Compartilhar via


Função wiasSetItemPropAttribs (wiamdef.h)

A função wiasSetItemPropAttribs define os sinalizadores de acesso e os valores válidos para o conjunto de propriedades de um item.

Sintaxe

HRESULT wiasSetItemPropAttribs(
  [in] BYTE               *pWiasContext,
       LONG               cPropSpec,
  [in] PROPSPEC           *pPropSpec,
  [in] PWIA_PROPERTY_INFO pwpi
);

Parâmetros

[in] pWiasContext

Ponteiro para um contexto de item WIA.

cPropSpec

Especifica o número de propriedades.

[in] pPropSpec

Ponteiro para o primeiro elemento de uma matriz de estruturas PROPSPEC (definido na documentação do SDK do Microsoft Windows) indicando as propriedades para as quais definir valores válidos e sinalizadores de acesso.

[in] pwpi

Ponteiro para o primeiro elemento de uma matriz de estruturas de WIA_PROPERTY_INFO que contêm os valores de propriedade a serem gravados.

Valor de retorno

Com êxito, a função retorna S_OK. Se a função falhar, ela retornará um erro COM padrão ou um dos erros de WIA_ERROR_XXX (descritos na documentação do SDK do Windows).

Observações

Os minidrivers devem usar essa função para inicializar grupos de propriedades simples. Os grupos de propriedades podem ser conjuntos de bits, intervalos de valores ou listas de valores. Os tipos simples com suporte, agrupados por atributo, são os seguintes.

Atributos Tipos com suporte
WIA_PROP_FLAG VT_UI1, VT_UI2, VT_UI4, VT_UI8, VT_I1, VT_I2, VT_I4, VT_I8
WIA_PROP_RANGE VT_UI1, VT_UI2, VT_UI4, VT_UI8, VT_I1, VT_I2, VT_I4, ,VT_I8, VT_R4, VT_R8
WIA_PROP_LIST VT_UI1, VT_UI2, VT_UI4, VT_UI8, VT_I1, VT_I2, VT_I4, ,VT_I8, VT_R4, VT_R8, VT_BSTR

Os minidrivers devem inicializar propriedades complexas usando a função wiasSetPropertyAttributes.

O minidriver pode definir o sinalizador WIA_PROP_CACHEABLE em uma propriedade que não é alterada ao longo do tempo. Ao definir esse sinalizador em uma propriedade, o minidriver indica que o serviço WIA pode armazenar em cache o valor da propriedade. Consulte a documentação do SDK do Windows para obter uma lista de todos os atributos de propriedade.

É importante lembrar que wiasSetItemPropAttribs retorna um HRESULT, não um BOOLEAN. Por exemplo, se wiasSetItemPropAttribs retornar 0, esse valor deverá ser interpretado como S_OK em vez de FALSE e indicar que tudo funcionou conforme o esperado. Se wiasSetItemPropAttribs retornar a S_FALSE HRESULT, isso indicará que uma das propriedades que você está tentando definir provavelmente não existe no fluxo de propriedades.

Para obter um log de wiadebug desse erro, abra o registro e ative o log wia para avisos e erros. A chave do Registro para isso é: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StillImage\Debug\wiaservc.dll

Defina o valor de "DebugFlags". para 0x00000003

Reinicialize o sistema e repita as etapas necessárias para produzir esse erro. Agora haverá um arquivo chamado "wiadebug.log" no diretório %windir%.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho wiamdef.h (inclua Wiamdef.h)
biblioteca Wiaservc.lib
de DLL Wiaservc.dll

Consulte também

WIA_PROPERTY_INFO

wiasSetItemPropNames

wiasSetPropertyAttributes