Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Questo articolo contiene informazioni applicabili ai sistemi operativi Windows obsoleti.
Questa sezione illustra come i messaggi e il flusso di dati di Windows Vista vengano mappati sui messaggi e flusso di dati di trasferimento legacy quando un'applicazione legacy deve lavorare con un driver Windows Vista.
Trasferimenti di callback
Questa tabella mostra il collegamento tra i messaggi di trasferimento callback di un driver Windows Vista e il messaggio inviato alle applicazioni legacy.
| Messaggio del driver windows Vista | Messaggio dell'applicazione legacy (dopo la conversione del livello di compatibilità) |
|---|---|
| Stato Messaggio di Trasferimento WIA | 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). |
| MESSAGGIO_DI_TRASFERIMENTO_WIA_STATO_DEL_DISPOSITIVO | 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 dovrebbe mai essere inviato da un driver Windows Vista in questo caso, poiché effettuiamo una chiamata al 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 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_TRASFERIMENTO_MSG_STATO_DISPOSITIVO | 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 concedere a un'applicazione Windows Vista la possibilità di annullare il trasferimento. |
| messaggio_di_trasferimento_nuova_pagina | 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 alcun dato 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 l'interfaccia IWiaMiniDrvCallBack.
Per altre informazioni sulle costanti TYMED, vedere Informazioni su TYMED.