INF-Dateien für WIA-Geräte
Wichtig
Einige informationen in diesem Artikel gelten für veraltete Windows-Betriebssysteme.
Der Standardklasseninstaller für Standbildgeräte ,sti_ci.dll, erkennt einen speziellen Satz von INF-Dateieinträgen. Innerhalb einer INF-Datei müssen diese Einträge im INF DDInstall-Abschnitt eines Geräts platziert werden. Die Einträge werden in der folgenden Tabelle beschrieben.
INF-Dateieintrag | Wert | Kommentare |
---|---|---|
Unterklasse | StillImage | Erforderlich |
DeviceType | 1 für Scanner 2 für Kameras 3 zum Streamen von Videos |
Erforderlich |
DeviceSubType | Vom Anbieter definierte Werte | Optional |
Connection | Bei Nicht-Plug & Play Geräten, die mit seriellen oder parallelen Ports verbunden sind, kann dies seriell oder parallel sein, um die Auswahl der Ports während der Installation durch den Benutzer einzuschränken. | Optional Wenn nicht angegeben, kann der Benutzer einen beliebigen seriellen oder parallelen Port auswählen. |
Capabilities | Gibt eine Zahl an, die in Bitflags konvertiert wird, die Gerätefunktionen identifizieren. Diese Flags werden in der Registrierung gespeichert und stehen STI-Komponenten über die STI_DEV_CAPS-Struktur zur Verfügung. Bit 0 – Legt STI_GENCAP_NOTIFICATIONS in STI_DEV_CAPS fest/löscht sie. Bit 1 – Legt STI_GENCAP_POLLING_NEEDED in STI_DEV_CAPS fest/löscht sie. Bit 2 – Legt STI_GENCAP_GENERATE_ARRIVALEVENT in STI_DEV_CAPS fest/löscht sie. Bit 3 – Legt STI_GENCAP_AUTO_PORTSELECT in STI_DEV_CAPS fest/löscht sie. Bit 4 – Legt STI_GENCAP_WIA in STI_DEV_CAPS fest/löscht sie. Bit 5 – Legt STI_GENCAP_SUBSET in STI_DEV_CAPS fest/löscht sie. |
Optional Bit 5 wird derzeit nicht verwendet. Legen Sie diesen Eintrag in Ihrer INF-Datei auf 0x33 fest, um Drucktastenereignisse mit Ihrem Scanner zu unterstützen. |
PropertyPages | Nur für Windows 98 und Windows 2000 Gibt den Namen und Einstiegspunkt einer DLL an, die benutzerdefinierte Eigenschaftenblattseiten für Standbildgeräte erstellt. Weitere Informationen zum PropertyPages-Eintrag finden Sie unter INF-Dateien für Standbildgeräte. |
Optional Dieser Eintrag ist nur für STI-Treiber vorgesehen und für WIA-Treiber veraltet. Informationen zu Eigenschaftenseiten, die für WIA-Treiberentwickler relevant sind, finden Sie im Hinweis zu PropertyPages im Anschluss an diese Tabelle. |
DeviceData | Identifiziert einen vom Anbieter bereitgestellten Datenabschnitt, der Informationen enthält, die in der Registrierung unter dem DeviceData-Schlüssel gespeichert werden sollen. Für TWAIN-unterstützte Geräte muss der Datenabschnitt einen TwainDS-Eintrag enthalten (siehe Registrierungseinträge für WIA-Treiber). | Optional |
Ereignisse | Identifiziert einen vom Anbieter bereitgestellten Datenabschnitt, der Geräteereignisse mit Standbildern auflistet. Jeder Eintrag in diesem Abschnitt muss das folgende Format aufweisen: EventName="String",{GUID},App EventName ist der interne Name des Ereignisses, String ist die Anzeigezeichenfolge des Ereignisses, GUID ist die GUID des Ereignisses, und App gibt die Imageerstellungsanwendung an, die gestartet werden soll, wenn das Ereignis eintritt. Verwenden Sie zum Starten der derzeit registrierten Anwendung ein Sternchen () fürApp*. |
Erforderlich |
PortSelect | Wenn für die Geräteinstallation keine Seite für die Portauswahl erforderlich ist, wird diese Seite mit dem Wert "no" übersprungen. Dieser Wert bewirkt auch, dass der CreateFileName-Eintragswert (siehe Hinweis zu CreateFileName und PortSelect gemäß dieser Tabelle) automatisch auf AUTO festgelegt wird. Der Wert Message1 bewirkt, dass eine vom System bereitgestellte Nachricht angezeigt wird, und legt den CreateFileName-Eintragswert auf AUTO fest. Gilt für Scanner und Kameras, die eine manuelle Installation erfordern. |
Optional Beachten Sie, dass portSelect für Plug & Play Geräte ignoriert wird, auf dem Gerät jedoch weiterhin der CreateFileName-Eintragswert auf AUTO festgelegt sein muss, damit WIA das Gerät laden kann. Verwenden Sie die INF AddReg-Direktive , um diesen Eintrag dem INF DDInstall-Abschnitt der INF-Datei des Geräts hinzuzufügen. |
Hinweis
Um mit einem Gerät zu kommunizieren, muss ein Client im Benutzermodus (minidriver) den WIA-Dienst nach dem Dateinamen des Geräts und einer Zeichenfolge fragen, die den Namen des zu erstellenden oder zu öffnenden Objekts angibt. (Der Dateiname muss nicht der Name einer Datenträgerdatei sein.) Als Reaktion auf eine solche Abfrage ruft der WIA-Dienst den Dateinamen des Geräts aus dem Registrierungseintrag CreateFileName ab. (Der usbscan.sys und scsiscan.sys Kernelmodustreiber erstellen diesen Eintrag, ebenso wie der Klasseninstallationsprogramm.) Der Minidriver empfängt diesen Dateinamen durch Aufrufen der IStiDeviceControl::GetMyDevicePortName-Methode . Der Minidriver kann dann diesen Dateinamen verwenden, wenn er die CreateFile-Funktion aufruft, um ein Handle für das Gerät zu öffnen. Wenn das Gerät manuell installiert wird, erstellt das Klasseninstallationsprogramm den Eintrag CreateFileName und legt dessen Wert auf einen Wert fest, der von der Auswahl des Benutzers auf der Portauswahlseite abhängt: COMX, LPTX oder AUTO. Einige Geräte (z. B. Netzwerkscanner), die manuell installiert werden, benötigen keinen Port. In solchen Fällen kann das resultierende Portauswahldialogfeld Benutzer verwirren. Sie können verhindern, dass dieses Dialogfeld angezeigt wird, indem Sie im Abschnitt INF DDInstall der INF-Datei Ihres Geräts den folgenden Eintrag hinzufügen.
PortSelect=NO
Hinweis
Ein Nebeneffekt dieses Eintragswerts ist, dass der CreateFileName-Eintrag auf AUTO festgelegt ist. Beachten Sie, dass, wenn der Minitreiber AUTO für den Dateinamen empfängt, er in der Lage sein muss, selbst zu bestimmen, mit welchem Gerät er kommunizieren soll.
Hinweis
Für PropertyPages muss ein WIA-Treiber einen anderen Erweiterbarkeitsmechanismus verwenden, um Eigenschaftenseiten hinzuzufügen. Außerdem muss sie dem Benutzeroberflächenklassen-ID-Eintrag in den INF-Dateien eine eigene GUID hinzufügen und eine spezifische Benutzeroberflächenerweiterungsregistrierung (siehe Registrierungseinträge für Benutzeroberflächenerweiterungen) für die ui-Komponenten bereitstellen, die ersetzt werden, z. B. allgemeine Dialogfelder, oder hinzugefügt werden, z. B. Kontextmenüs und Eigenschaftenseiten. Ein WIA-Treiber muss auch die Benutzeroberflächenerweiterungsregistrierung für die Komponente selbst bereitstellen.
Zusätzliche INF-Dateieinträge
Die Einträge in der folgenden Tabelle müssen innerhalb des Abschnitts platziert werden, auf den die INF-AddReg-Direktive des Geräts verweist:
INF-Dateieintrag | Wert | Kommentare |
---|---|---|
HardwareConfig | Gibt den Verbindungstyp an, den das Gerät verwendet. 1,1 − generisches WDM-Gerät 1,2 − SCSI-Gerät 1,4 − USB-Gerät 1,8 − serielles Gerät 1,16 − paralleles Gerät |
Optional |
USDClass | Gibt die GUID für den Minitreiber an. | Optional. Die GUID in den Einträgen USDClass und CLSID muss mit der GUID übereinstimmen, die in der DllGetClassObject-Funktion des Minidrivers verwendet wird. Wenn Sie einen Microdriver schreiben, sollte der Wert BB6CF8E2-1511-40bd-91BA-80D43C53064E sein. Andernfalls müssen Sie eine neue GUID generieren, z. B. mitgenguid.exe. |
CLSID | Gibt die GUID für den Minidriver an. | Optional. Sehen Sie sich die unmittelbar vorangehenden Kommentare für den USDClass-Eintrag an. |
Das Standardklasseninstallationsprogramm für Standbildgeräte unterstützt die standardmäßige INF CopyFiles-Direktive.
Die Standard-INF-Datei für Standbildgeräte, sti.inf, definiert zwei Installationsabschnitte für jeden Gerätetyp wie folgt:
Ein INF-DDInstall-Abschnitt, auf den im Abschnitt DDInstall der vom Anbieter bereitgestellten INF-Datei verwiesen werden muss, wie in der folgenden Tabelle gezeigt.
Gerätetyp Einschließen Anforderungen IEEE 1394/SBP2 Include=sti.inf Needs=STI. SBP2Section USB Include=sti.inf Needs=STI. USBSection SCSI Include=sti.inf Needs=STI. SCSISection Seriell Include=sti.inf Needs=STI. SerialSection Ein INF DDInstall Services-Abschnitt, auf den im INF DDInstall.Services-Abschnitt der vom Anbieter bereitgestellten INF-Datei verwiesen werden muss, wie in der folgenden Tabelle dargestellt.
Gerätetyp Einschließen Anforderungen 1394/SBP2 Include=sti.inf Needs=STI. SBP2Section.Services USB Include=sti.inf Needs=STI. USBSection.Services SCSI Include=sti.inf Needs=STI. SCSISection.Services Seriell Include=sti.inf Needs=STI. SerialSection.Services
Weitere Anleitungen zum Erstellen von INF-Dateien für Standbildgeräte finden Sie in jeder in Windows bereitgestellten INF-Datei, die den Eintrag SubClass=StillImage enthält.
Um das Gerät als WIA-Gerät festzulegen, muss die MINIDRIVER-INF-Datei die folgenden Werte enthalten, die im Abschnitt DeviceData der vom Anbieter bereitgestellten INF-Datei platziert sind.
INF-Dateieintrag | Wert | Kommentare |
---|---|---|
Server | Lokal | Gibt das Gerät als lokales Gerät an. Dies ist optional, und wenn ein Anbieter keinen Eintragswert angibt, wird davon ausgegangen, dass es sich um ein lokales Gerät handelt. Das heißt, die WIA_DIP_SERVER_NAME-Eigenschaft ist auf Local festgelegt. |
MicroDriver | Vom Anbieter bereitgestellter .dll Dateinamen | Dieser Eintrag sollte auf den Namen der vom Anbieter bereitgestellten DLL festgelegt werden, die den WIA-Microdriver implementiert. |
UI-DLL | Vom Anbieter bereitgestellter .dll Dateinamen | Veraltet und nie verwendet. Früher gab dieser Eintrag den Namen der vom Anbieter bereitgestellten Benutzeroberfläche-DLL-Datei an. |
UI-Klassen-ID | Vom Anbieter bereitgestellter Geräteklassenbezeichner | Gibt die Geräteklasse an, die von der vom Anbieter bereitgestellten Benutzeroberfläche unterstützt werden kann. Dies ist optional. Wenn ein Anbieter keinen Eintragswert angibt, legt WIA die eigenschaft WIA_DIP_UI_CLSID auf GUID_NULL fest, und die WIA-Standardbenutzeroberfläche wird verwendet. |
ICMProfiles | Vom Anbieter bereitgestellter Farbprofilwert | Gibt einen Wert an, der in die WIA_IPA_ICM_PROFILE_NAME-Eigenschaft eingefügt werden soll. Wenn kein Wert angegeben wird, wird der sRGB-Standardprofil sRGB Color Space Profile.icm verwendet. |
Der MicroDriver-Eintrag ist nur erforderlich, wenn der Anbieter einen WIA-Microdriver bereitstellt.
Die Benutzeroberflächeneinträge sind nur erforderlich, wenn der Anbieter eine benutzerdefinierte Benutzeroberfläche für das Imaginggerät bereitstellt.
Hinweise
Wenn Sie eine INF-Datei für Scanner entwickeln, können Sie Microsoft-Betriebssystemdeskriptoren verwenden, um die Kompatibilitäts-ID-Funktionalität zu aktivieren. In diesem Fall lassen Sie zu, dass ein Scannertreiber mit mehreren Scannermodellen kompatibel ist.