Partilhar via


Comandos opcionais

Os comandos a seguir podem ser implementados pelo microdriver, mas não é necessário fazer isso.

CMD_GETSUPPORTEDFILEFORMATS

Chamado pelo Driver de Flatbed do WIA para obter o número de formatos de arquivo adicionais. Dois membros da estrutura val passada devem ser preenchidos: lVal deve ser definido como o número de formatos de arquivo adicionais; PGuid deve apontar para uma matriz de GUIDs de formato de imagem. A memória alocada para essa matriz pertence ao microdriver e só deve ser liberada por ela.

Os formatos de imagem são listados em wiadef.h ou podem ser definidos como formatos personalizados. Observe que, como os formatos BMP (arquivo) e MEMORYBMP (memória) são formatos necessários, o Driver de Flatbed wia os adiciona automaticamente. O microdriver não deve adicioná-los à sua lista estendida.

Esse comando é opcional, a menos que o dispositivo possa dar suporte a formatos de arquivo extras.

CMD_GETSUPPORTEDMEMORYFORMATS

Chamado pelo Driver de Flatbed wia para obter o número de formatos de memória adicionais. Dois membros da estrutura val passada devem ser preenchidos: lVal deve ser definido como o número de formatos de memória adicionais; PGuid deve apontar para uma matriz de GUIDs de formato de imagem. A memória alocada para essa matriz pertence ao microdriver e só deve ser liberada por ela.

Os formatos de imagem são listados em wiadef.h ou podem ser definidos como formatos personalizados. Observe que, como os formatos BMP (arquivo) e MEMORYBMP (memória) são formatos necessários, o Driver de Flatbed wia os adiciona automaticamente. O microdriver não deve adicioná-los à sua lista estendida.

Esse comando é opcional, a menos que o dispositivo possa dar suporte a formatos de memória extras.

CMD_SETFORMAT

O driver de classe envia esse comando para definir o formato atual conforme solicitado pelo aplicativo. O membro pGuid da estrutura VAL contém o GUID de formato de imagem. O microdriver deve salvar essa ID de formato de imagem em seu contexto privado, a fim de acompanhar a configuração de formato de imagem atual.

Os microdrivers são necessários para dar suporte a esse comando somente se relatarem formatos estendidos. Como o driver de classe não tem como validar dados em formatos estendidos, é responsabilidade do microdriver gerar os dados adequados. Ao transferir dados em um formato estendido, todos os dados devem ser transferidos, incluindo cabeçalhos de imagem. Por exemplo, se o driver relatar que ele dá suporte ao formato JPEG, todo o JPEG deverá ser transferido, não apenas os bits de imagem.

O driver de classe possui a memória apontada pelo membro pGuid da estrutura VAL, portanto, o microdriver não deve liberá-la.

Observe que esse comando não afeta a maneira como um microdriver responde às chamadas para sua função De verificação . Como de costume, o microdriver deve marcar os valores dos parâmetros lPhase, pScanInfo e lLength dessa função e colocar dados nos buffers apontados pelos parâmetros pBuffer e pReceived conforme apropriado.

Os drivers que dão suporte apenas a arquivos nos formatos WiaImgFmt_BMP e WiaImgFmt_MEMORYBMP (os formatos padrão para microdrivers) podem receber o comando CMD_SETFORMAT. Esses drivers podem ignorar esse comando, pois o driver de classe manipula todas as transferências de dados usando os formatos padrão.

CMD_SETSCANMODE

Chamado pelo Driver de Flatbed wia para definir o modo de verificação -- versão prévia ou final -- do dispositivo do microdriver. O membro lVal da estrutura VAL conterá um dos seguintes valores, ambos definidos em wiamicro.h:

  • SCANMODE_PREVIEWSCAN – modo de verificação de visualização

  • SCANMODE_FINALSCAN – modo de verificação final

CMD_SETSTIDEVICEHKEY

Chamado pelo Driver de Flatbed do WIA para permitir que o microdriver leia as entradas do Registro na seção do Registro instalado. Esse comando fornece o HKEY do registro instalado do dispositivo STI para o microdriver, para que ele possa acessar valores de registro privado para seu dispositivo. O membro pHandle da estrutura VAL conterá um ponteiro para o HKEY fornecido ao Driver de Flatbed wia durante o método IStiUSD::Initialize da STI. Este é o HKEY de nível superior da seção do dispositivo instalado. A chave DeviceData pode ser aberta diretamente usando esse HKEY. Consulte Arquivos INF para dispositivos WIA para obter mais informações.

Observação

Essa chave é aberta e fechada apenas pelo Driver de Flatbed do WIA. Ele também é válido somente durante esse comando e CMD_INITIALIZE (consulte Comandos obrigatórios). Depois que esses comandos são retornados, a chave não é mais válida. O valor HKEY não deve ser armazenado em cache.