Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Treiber müssen den Ordnererwerb nicht direkt unterstützen. Wenn Treiber dies nicht unterstützen, durchläuft der WIA-Dienst die Elementstruktur rekursiv und ruft IWiaMiniDrv::drvAcquireItemData für alle Elemente auf, die das WiaItemTypeTransfer-Bit in der WIA_IPA_ITEM_FLAGS-Eigenschaft gesetzt ist.
Treiber, die den Ordnererwerb direkt unterstützen, müssen die WIA_IPS_TRANSFER_CAPABILITIES-Eigenschaft für das Ordnerelement bereitstellen. Diese Eigenschaft ist eine Flag-Eigenschaft und sollte die WIA_TRANSFER_ACQUIRE_CHILDREN_CAPABLE Bit festgelegt haben, um anzugeben, dass sie die Ordnerakquisitionsfunktionalität direkt unterstützt. Diese Unterstützung bedeutet, dass der Treiber selbst die Struktur durchlaufen wird, um die relevanten Elemente zu übertragen, und der WIA-Dienst ruft einfach IWiaMiniDrv::d rvAcquireItemData im Ordner auf. Der Treiber kann zwischen einer normalen Übertragungsanforderung und einer Ordnerakquisitionsanforderung unterscheiden, indem der lFlags-Parameter für das WIA_TRANSFER_ACQUIRE_CHILDREN Bit getestet wird.
Einer der Hauptgründe dafür, dass ein Fahrer den Ordnererwerb direkt unterstützt, ist Effizienz. Ein Treiber kann mehrere Elemente wesentlich effizienter übertragen, als dass der WIA-Dienst eine Übertragung für die einzelnen Elemente aufruft.
Ein gutes Beispiel für diese Situation ist bei einem Multiregion-Scan. Wenn mehrere Bereiche (z. B. separate Bilder) auf dem Flachbett eines Scanners erkannt werden, könnten sie als untergeordnete Elemente des Elements "Flachbett" dargestellt werden. Ein Beispiel für diese Situation ist in der folgenden Abbildung dargestellt.
Wenn eine separate Übertragung für jedes der untergeordneten Elemente von "Flatbed" aufgerufen wurde, würde der Treiber drei separate Scans durchführen, was zeitaufwändig sein könnte. Wenn jedoch ein Ordnererwerb auf "Flatbed" angefordert wurde, führt der Treiber einen Scan durch, dekompiliert ihn und gibt drei separate Regionen zurück (was oft schneller ist).
Anmerkung Es wird empfohlen, dass nur komplexere Treiber den Ordnererwerb direkt unterstützen, da der Treiber dafür verantwortlich ist, die Elementstruktur zu durchlaufen und die entsprechende Aktion auszuführen.