Gravando propriedades de item WIA por um aplicativo
Quando um aplicativo WIA grava em uma propriedade WIA (e atualiza o valor armazenado na propriedade), o serviço WIA oferece ao minidriver WIA a oportunidade de validar valores de entrada chamando o método IWiaMiniDrv::d rvValidateItemProperties . O minidriver WIA compara os valores de entrada com quaisquer valores atuais lendo as propriedades em sua própria árvore de itens de driver. A biblioteca de serviços WIA fornece funções para acessar esses valores.
O método IWiaMiniDrv::d rvValidateItemProperties deve executar as seguintes tarefas:
Determine o tipo de item.
Determine se alguma validação especial deve ser executada nas propriedades wia de entrada. Para determinar quais propriedades wia estão sendo gravadas, o minidriver WIA pode usar uma matriz de estruturas PROPSPEC (a estrutura PROPSPEC é descrita na documentação do SDK do Microsoft Windows). É recomendável que o minidriver WIA determine o tipo de item antes de processar a matriz PROPSPEC para reduzir a necessidade de percorrer a matriz em cada chamada IWiaMiniDrv::d rvValidateItemProperties . Se não houver requisitos especiais de validação ou se você precisar atualizar as propriedades dependentes no item raiz do dispositivo, somente as solicitações de gravação nas propriedades do item filho serão processadas.
Crie um contexto de propriedade WIA para acessar valores que foram alterados durante a validação da propriedade WIA, o que é necessário para atualizar as propriedades dependentes de um item WIA. Use as funções de serviço wiasCreatePropContext e wiasGetChangedValueXxx .
Atualize as propriedades dependentes usando as funções de serviço WIA, wiasWriteMultiple ou wiasWritePropXxx, o que inclui a atualização de quaisquer valores válidos que possam ter sido alterados como resultado da configuração de uma propriedade. Por exemplo, se o minidriver WIA der suporte à configuração da propriedade WIA_IPA_DEPTH , você deverá atualizar a lista válida de profundidades de bits quando o aplicativo alterar a propriedade WIA_IPA_DATATYPE .
Quando o valor da propriedade WIA_IPA_DATATYPE muda de WIA_DATA_THRESHOLD para WIA_DATA_COLOR, a propriedade WIA_IPA_DEPTH relacionada muda de relatar profundidade de cor de um bit para relatar 24 bits ou 48 bits.
Chame a função de serviço wiasValidateItemProperties para permitir que o serviço WIA valide todas as outras solicitações de propriedade. Este é um caso "catch-all"; o serviço WIA tem validação de propriedade interna.