Delen via


Optionele opdrachten

De volgende opdrachten kunnen worden geïmplementeerd door de microdriver, maar dit is niet vereist.

CMD_GETSUPPORTEDFILEFORMATS

Aangeroepen door het WIA Flatbed Driver om het aantal extra bestandsindelingen op te halen. Er moeten twee leden van de doorgegeven VAL-structuur worden ingevuld: lVal moet worden ingesteld op het aantal extra bestandsindelingen; pGuid moet verwijzen naar een matrix met GUID's voor afbeeldingsindeling. Het toegewezen geheugen voor deze matrix is eigendom van de microdriver en mag alleen door deze worden vrijgemaakt.

Afbeeldingsindelingen worden vermeld in wiadef.h of kunnen worden gedefinieerd als aangepaste indelingen. Omdat de indelingen BMP (bestand) en MEMORYBMP (memory) vereist zijn, worden deze automatisch toegevoegd door het WIA Flatbed Driver. De microdriver mag ze niet toevoegen aan de uitgebreide lijst.

Deze opdracht is optioneel, tenzij het apparaat extra bestandsindelingen kan ondersteunen.

CMD_GETSUPPORTEDMEMORYFORMATS

Wordt aangeroepen door het WIA Flatbed Driver om het aantal extra geheugenindelingen op te halen. Er moeten twee leden van de doorgegeven VAL-structuur worden ingevuld: lVal moet worden ingesteld op het aantal extra geheugenindelingen; pGuid moet verwijzen naar een matrix met GUID's voor afbeeldingsindeling. Het toegewezen geheugen voor deze matrix is eigendom van de microdriver en mag alleen door deze worden vrijgemaakt.

Beeldformaten zijn opgenomen in wiadef.h of kunnen worden gedefinieerd als aangepaste formaten. Omdat de indelingen BMP (bestand) en MEMORYBMP (memory) vereist zijn, worden deze automatisch toegevoegd door het WIA Flatbed Driver. De microdriver mag ze niet toevoegen aan de uitgebreide lijst.

Deze opdracht is optioneel, tenzij het apparaat extra geheugenindelingen kan ondersteunen.

CMD_SETFORMAT

Het klassestuurprogramma verzendt deze opdracht om de huidige indeling in te stellen zoals aangevraagd door de toepassing. Het lid pGuid van de VAL-structuur bevat de GUID van de afbeeldingsindeling. De microdriver moet deze afbeeldingsindelings-ID opslaan in zijn privécontext om de huidige instelling voor de afbeeldingsindeling bij te houden.

Microdrivers zijn alleen vereist om deze opdracht te ondersteunen als ze uitgebreide indelingen rapporteren. Omdat het klassestuurprogramma geen manier heeft om gegevens in uitgebreide indelingen te valideren, is het de verantwoordelijkheid van de microdriver om de juiste gegevens te genereren. Bij het overdragen van gegevens in een uitgebreide indeling moeten alle gegevens worden overgedragen, inclusief afbeeldingsheaders. Als uw stuurprogramma bijvoorbeeld rapporteert dat het de JPEG-indeling ondersteunt, moeten alle JPEG-bestanden worden overgebracht, niet alleen de afbeeldings bits.

Het stuurprogramma voor klassen bezit het geheugen dat wordt verwezen door het pGuid-lid van de VAL-structuur, dus de microdriver mag het niet vrijgeven.

Houd er rekening mee dat deze opdracht geen invloed heeft op de manier waarop een microdriver reageert op aanroepen naar de scanfunctie . Zoals gebruikelijk moet de microdriver de waarden van de parameters lPhase, pScanInfo en lLength van deze functie controleren en gegevens in de buffers plaatsen die naar de parameters pBuffer en pReceived worden verwezen.

Stuurprogramma's die alleen bestanden in de WiaImgFmt_BMP- en WiaImgFmt_MEMORYBMP-indelingen (de standaardindelingen voor microdrivers) ondersteunen, kunnen de opdracht CMD_SETFORMAT ontvangen. Deze stuurprogramma's kunnen deze opdracht negeren, omdat het klassestuurprogramma alle gegevensoverdrachten verwerkt met behulp van de standaardindelingen.

CMD_SETSCANMODE

Aangeroepen door het WIA Flatbed Driver om de scanmodus (preview of definitief) van het apparaat van de microdriver in te stellen. Het lVal-lid van de VAL-structuur bevat een van de volgende waarden, die beide zijn gedefinieerd in wiamicro.h:

  • SCANMODE_PREVIEWSCAN − Preview-scanmodus

  • SCANMODE_FINALSCAN − Laatste scanmodus

CMD_SETSTIDEVICEHKEY

Aangeroepen door het WIA Flatbed Driver zodat de microdriver registervermeldingen kan lezen in de geïnstalleerde registersectie. Deze opdracht biedt de geïnstalleerde register-HKEY van het STI-apparaat aan de microdriver, zodat het toegang heeft tot persoonlijke registerwaarden voor het apparaat. Het pHandle-lid van de VAL-structuur zal een aanwijzer bevatten naar de HKEY die aan het WIA-flatbedstuurprogramma wordt gegeven tijdens de IStiUSD::Initialize methode van STI. Dit is de HKEY op het hoogste niveau van de sectie van het geïnstalleerde apparaat. De DeviceData-sleutel kan rechtstreeks worden geopend met behulp van deze HKEY. Zie INF-bestanden voor WIA-apparaten voor meer informatie.

Opmerking

Deze sleutel wordt alleen geopend en gesloten door de WIA Flatbed Driver. Het is ook alleen geldig tijdens deze opdracht en CMD_INITIALIZE (zie Vereiste opdrachten). Nadat deze opdrachten zijn uitgevoerd, is de sleutel niet meer geldig. De HKEY-waarde mag niet in de cache worden opgeslagen.