Mapping per un'applicazione legacy e un driver Windows Vista
Importante
Questo articolo contiene informazioni applicabili ai sistemi operativi Windows obsoleti.
Questa sezione illustra come viene eseguito il mapping dei messaggi e del flusso di dati di trasferimento di Windows Vista a messaggi di trasferimento legacy e flusso di dati quando un'applicazione legacy deve usare un driver di Windows Vista.
Trasferimenti di callback
Questa tabella mostra il mapping dei messaggi di trasferimento di callback di un driver di Windows Vista al messaggio inviato a un'applicazione legacy.
Messaggio del driver di Windows Vista | Messaggio dell'applicazione legacy (dopo la conversione del livello di compatibilità) |
---|---|
WIA_TRANSFER_MSG_STATUS | IT_MSG_STATUS |
WIA_TRANSFER_MSG_ERROR | Ignorato. |
WIA_TRANSFER_MSG_END_OF_STREAM | Ignorato. Questo messaggio va sempre insieme a una chiamata a IWiaTransferCallback::GetNextStream. Per evitare messaggi duplicati, questo messaggio viene implementato nell'implementazione GetNextStream . |
WIA_TRANSFER_MSG_END_OF_TRANSFER | IT_MSG_TERMINATION (WIA_TRANSFER_MSG_END_OF_TRANSFER non viene inviato dal driver). |
WIA_TRANSFER_MSG_DEVICE_STATUS | Se hrErrorStatus == WIA_STATUS_WARMING_UP, il livello di compatibilità invia IT_MSG_STATUS con IT_STATUS_TRANSFER_FROM_DEVICE per fornire uno stato a un'applicazione, nonché concedere a un'applicazione Windows Vista la possibilità di annullare il trasferimento. |
WIA_TRANSFER_MSG_NEW_PAGE | Ignorato. Non deve mai essere inviato da un driver Windows Vista in questo caso, poiché viene chiamato nel driver di Windows Vista con TYMED_FILE. |
IWiaTransferCallback::GetNextStream | Prima pagina: IT_MSG_DATA_HEADER Pagine successive: IT_MSG_NEW_PAGE |
IStream::Write | IT_MSG_DATA |
Trasferimenti di file
Questa tabella mostra il mapping dei messaggi di trasferimento di file di un driver Windows Vista al messaggio inviato a un'applicazione legacy.
Messaggio del driver di Windows Vista | Messaggio dell'applicazione legacy (dopo la conversione del livello di compatibilità) |
---|---|
WIA_TRANSFER_MSG_STATUS | IT_MSG_STATUS |
WIA_TRANSFER_MSG_ERROR | Ignorato. |
WIA_TRANSFER_MSG_END_OF_STREAM | Ignorato. Questo messaggio va sempre insieme a una chiamata a IWiaTransferCallback::GetNextStream. Per evitare messaggi duplicati, questo messaggio viene implementato nell'implementazione GetNextStream . |
WIA_TRANSFER_MSG_END_OF_TRANSFER | IT_MSG_TERMINATION (WIA_TRANSFER_MSG_END_OF_TRANSFER non viene inviato dal driver). |
WIA_TRANSFER_MSG_DEVICE_STATUS | Se hrErrorStatus == WIA_STATUS_WARMING_UP, IT_MSG_STATUS viene inviato con IT_STATUS_TRANSFER_FROM_DEVICE per fornire uno stato a un'applicazione e fornire a un'applicazione Windows Vista la possibilità di annullare il trasferimento. |
WIA_TRANSFER_MSG_NEW_PAGE | Questo comportamento è leggermente diverso da un trasferimento di file a più pagine, perché wiasWritePageBufToFile non invia mai IT_MSG_NEW_PAGE. |
IWiaTransferCallback::GetNextStream | Prima pagina: IT_MSG_FILE_PREVIEW_DATA_HEADER Pagine successive: errore (il WIA_ERROR_GENERAL_ERROR viene passato di nuovo al driver). IWiaTransferCallback::GetNextStream deve essere chiamato una sola volta perché è possibile trasferire una sola pagina con TYMED_FILE e durante un trasferimento TYMED_MULTIPAGE_FILE, il driver di Windows Vista deve chiamare GetNextStream una sola volta perché tutte le pagine devono entrare nello stesso flusso. |
IStream::Write | Nessun messaggio inviato. In caso di trasferimenti di file, il livello di compatibilità non converte i dati che il driver (filtro di elaborazione immagini) scrive nei messaggi di trasferimento legacy. Invece, i dati vengono semplicemente scritti in un file restituito all'utente alla fine del trasferimento. |
Per altre informazioni sui messaggi di trasferimento legacy, vedere interfaccia IWiaMiniDrvCallBack.
Per altre informazioni sulle costanti TYMED, vedere Informazioni su TYMED.