Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Zonder de overdrachtscompatibiliteitslaag zou een WiA-stuurprogramma van Windows Vista zowel TYMED als op stromen gebaseerde gegevensoverdrachtstijlen moeten implementeren om gegevensoverdrachten uit oudere en Windows Vista-toepassingen uit te kunnen voeren. Op dezelfde manier zou een Windows Vista WIA-toepassing beide stijlen van overdrachten (met verschillende callback-implementaties) moeten implementeren om gegevensoverdrachten van verouderde en Windows Vista-stuurprogramma's uit te voeren. Met de WIA-compatibiliteitslaag is het type stuurprogramma transparant voor een WIA-toepassing en een Windows Vista WIA-stuurprogramma heeft geen te maken met verouderde overdrachtscode.
Er zijn twee overdrachtscases waarin een compatibiliteitslaag nodig is, die elk verder kunnen worden onderverdeeld in twee subcategorieƫn:
Verouderde toepassing die gegevens overdraagt van een Windows Vista-stuurprogramma:
- Bestandsoverdracht: De toepassing roept IWiaDataTransfer::idtGetBandedData aan.
- Callback-overdracht: de toepassing roept IWiaDataTransfer::idtGetData aan.
Een Windows Vista-toepassing die gegevens overdraagt van een verouderd stuurprogramma:
- Bestandsoverdracht: De compatibiliteitslaag initieert bestandsoverdracht met een verouderd stuurprogramma.
- Callback-overdracht: De compatibiliteitslaag initieert een callback-overdracht met het verouderde stuurprogramma.
De eerste stap bij het bepalen of de compatibiliteitslaag moet worden gebruikt, is om te bepalen of een WIA-stuurprogramma een Windows Vista-stuurprogramma of een verouderd stuurprogramma is. De WIA-service bepaalt dit door te kijken naar het versienummer dat een stuurprogramma retourneert van IStiUSD::GetCapabilities. Een verouderd stuurprogramma retourneert STI_VERSION voor het versienummer, terwijl een Windows Vista-stuurprogramma STI_VERSION_3 moet retourneren. Dit versienummer wordt weergegeven voor de WIA COM-proxy (en een WIA-toepassing) in de eigenschap Windows Vista, WIA_DIP_STI_DRIVER_VERSION.
De volgende stap bij het bepalen of de compatibiliteitslaag moet worden gebruikt, is bepalen of een toepassing een Windows Vista WIA-toepassing of een verouderde WIA-toepassing is. Als de toepassing IWiaDataTransfer::idtGetBandedData of IWiaDataTransfer::idtGetData aanroept, is het een verouderde WIA-toepassing. Als de toepassing IWiaTransfer::Download aanroept, is het een Windows Vista WIA-toepassing.
Met het nieuwe model voor gegevensoverdracht op basis van stromen maakt de WIA-service geen onderscheid meer tussen TYMED_CALLBACK en TYMED_FILE (of TYMED_MULTIPAGE_CALLBACK en TYMED_MULTIPAGE_FILE). In plaats daarvan zijn er alleen TYMED_FILE en TYMED_MULTIPAGE_FILE. TYMED_MULTIPAGE_FILE is nodig om stuurprogramma's in staat te stellen scans met meerdere pagina's (TIFF of PDF) te ondersteunen. Zie Begrip TYMED voor meer informatie over de TYMED-constanten.
WIA biedt geen ondersteuning voor de geheugen bitmapindeling WiaImgFmt_MEMORYBMP in Windows Vista-stuurprogramma's.
Windows Vista-stuurprogramma's kunnen updateberichten verzenden om gegevens over te dragen in banden in plaats van dat het stuurprogramma de volledige installatiekopieƫn tijdens een overdracht in de cache opgeslagen. Deze vorm van overdracht is handig voor het overbrengen van gegevens tijdens scans waarbij het niet onmiddellijk mogelijk is om de grootte van de overgedragen afbeelding te bepalen, bijvoorbeeld een scan met een schuiffeedscanner. Als u afbeeldingsgegevens in banden wilt overdragen, moet het stuurprogramma IStream::Seek aanroepen op de stroom die aan hem is doorgegeven in IWiaTransferCallback::GetNextStream.
Zie Gegevensoverdrachten voor meer informatie over TYMED en streamgebaseerde overdrachten.
De IWiaDataTransfer-, IWiaTransfer- en IStream-interfaces worden besproken in de Microsoft Windows SDK-documentatie.