Mapeamento para um aplicativo herdado e o driver do Windows Vista
Importante
Este artigo contém informações que se aplicam a sistemas operacionais Windows obsoletos.
Esta seção explica como as mensagens de transferência e o fluxo de dados do Windows Vista são mapeados para o fluxo de dados e mensagens de transferência herdadas quando um aplicativo herdado precisa trabalhar com um driver do Windows Vista.
Transferências de retorno de chamada
Esta tabela mostra o mapeamento das mensagens de transferência de retorno de chamada de um driver do Windows Vista para a mensagem enviada a um aplicativo herdado.
Mensagem do driver do Windows Vista | Mensagem de aplicativo herdada (após a conversão da camada de compatibilidade) |
---|---|
WIA_TRANSFER_MSG_STATUS | IT_MSG_STATUS |
WIA_TRANSFER_MSG_ERROR | Ignorado. |
WIA_TRANSFER_MSG_END_OF_STREAM | Ignorado. Essa mensagem sempre acompanha uma chamada para IWiaTransferCallback::GetNextStream. Para evitar mensagens duplicadas, essa mensagem é implementada na implementação GetNextStream . |
WIA_TRANSFER_MSG_END_OF_TRANSFER | IT_MSG_TERMINATION (WIA_TRANSFER_MSG_END_OF_TRANSFER não é enviado pelo driver). |
WIA_TRANSFER_MSG_DEVICE_STATUS | Se hrErrorStatus == WIA_STATUS_WARMING_UP, a camada de compatibilidade enviará IT_MSG_STATUS com IT_STATUS_TRANSFER_FROM_DEVICE para fornecer alguns status a um aplicativo, além de dar a um aplicativo do Windows Vista a possibilidade de cancelar a transferência. |
WIA_TRANSFER_MSG_NEW_PAGE | Ignorado. Nunca deve ser enviado por um driver do Windows Vista nesse caso, pois chamamos o driver do Windows Vista com TYMED_FILE. |
IWiaTransferCallback::GetNextStream | Primeira página: IT_MSG_DATA_HEADER Páginas subsequentes: IT_MSG_NEW_PAGE |
IStream::Write | IT_MSG_DATA |
Transferências de Arquivo
Esta tabela mostra o mapeamento das mensagens de transferência de arquivo de um driver do Windows Vista para a mensagem enviada a um aplicativo herdado.
Mensagem do driver do Windows Vista | Mensagem de aplicativo herdada (após a conversão da camada de compatibilidade) |
---|---|
WIA_TRANSFER_MSG_STATUS | IT_MSG_STATUS |
WIA_TRANSFER_MSG_ERROR | Ignorado. |
WIA_TRANSFER_MSG_END_OF_STREAM | Ignorado. Essa mensagem sempre acompanha uma chamada para IWiaTransferCallback::GetNextStream. Para evitar mensagens duplicadas, essa mensagem é implementada na implementação GetNextStream . |
WIA_TRANSFER_MSG_END_OF_TRANSFER | IT_MSG_TERMINATION (WIA_TRANSFER_MSG_END_OF_TRANSFER não é enviado pelo driver). |
WIA_TRANSFER_MSG_DEVICE_STATUS | Se hrErrorStatus == WIA_STATUS_WARMING_UP, IT_MSG_STATUS será enviado com IT_STATUS_TRANSFER_FROM_DEVICE para fornecer alguns status a um aplicativo, além de dar a um aplicativo do Windows Vista a possibilidade de cancelar a transferência. |
WIA_TRANSFER_MSG_NEW_PAGE | Esse comportamento é um pouco diferente de uma transferência de arquivo de várias páginas hoje porque wiasWritePageBufToFile nunca envia IT_MSG_NEW_PAGE. |
IWiaTransferCallback::GetNextStream | Primeira página: IT_MSG_FILE_PREVIEW_DATA_HEADER Páginas subsequentes: erro (o WIA_ERROR_GENERAL_ERROR é passado de volta para o driver). IWiaTransferCallback::GetNextStream só deve ser chamado uma vez porque você só pode transferir uma página com TYMED_FILE e durante uma transferência de TYMED_MULTIPAGE_FILE, o driver do Windows Vista só deve chamar GetNextStream uma vez porque todas as páginas devem ir para o mesmo fluxo. |
IStream::Write | Nenhuma mensagem enviada. No caso de transferências de arquivo, a camada de compatibilidade não converte nenhum dos dados que o driver (filtro de processamento de imagem) grava em mensagens de transferência herdadas. Em vez disso, os dados são simplesmente gravados em um arquivo que é retornado ao usuário no final da transferência. |
Para obter mais informações sobre as mensagens de transferência herdadas, consulte a Interface IWiaMiniDrvCallBack.
Para obter mais informações sobre as constantes TYMED, consulte Noções básicas sobre TYMED.