Freigeben über


Schreiben von WIA-Elementeigenschaften durch eine Anwendung

Wenn eine WIA-Anwendung in eine WIA-Eigenschaft schreibt (und den in der -Eigenschaft gespeicherten Wert aktualisiert), gibt der WIA-Dienst dem WIA-Minitreiber die Möglichkeit, eingehende Werte zu überprüfen, indem die IWiaMiniDrv::d rvValidateItemProperties-Methode aufgerufen wird. Der WIA-Minitreiber vergleicht die eingehenden Werte mit allen aktuellen Werten, indem die Eigenschaften in seiner eigenen Treiberelementstruktur gelesen werden. Die WIA-Dienstbibliothek stellt Funktionen für den Zugriff auf diese Werte bereit.

Die IWiaMiniDrv::d rvValidateItemProperties-Methode sollte die folgenden Aufgaben ausführen:

  1. Bestimmen Sie den Elementtyp.

  2. Bestimmen Sie, ob eine spezielle Überprüfung für die eingehenden WIA-Eigenschaften ausgeführt werden soll. Um zu bestimmen, welche WIA-Eigenschaften geschrieben werden, kann der WIA-Minitreiber ein Array von PROPSPEC-Strukturen verwenden (die PROPSPEC-Struktur wird in der Microsoft Windows SDK Dokumentation beschrieben). Es wird empfohlen, dass der WIA-Minidriver den Elementtyp vor der Verarbeitung des PROPSPEC-Arrays bestimmt, um die Notwendigkeit zu verringern, das Array bei jedem IWiaMiniDrv::d rvValidateItemProperties-Aufruf zu durchlaufen. Wenn keine besonderen Validierungsanforderungen bestehen oder Sie abhängige Eigenschaften für das Stammelement des Geräts aktualisieren müssen, werden nur Schreibanforderungen an untergeordnete Elementeigenschaften verarbeitet.

  3. Erstellen Sie einen WIA-Eigenschaftskontext, um auf Werte zuzugreifen, die sich während der WIA-Eigenschaftsüberprüfung geändert haben. Dies ist erforderlich, um die abhängigen Eigenschaften für ein WIA-Element zu aktualisieren. Verwenden Sie die Dienstfunktionen wiasCreatePropContext und wiasGetChangedValueXxx .

  4. Aktualisieren Sie abhängige Eigenschaften mithilfe der WIA-Dienstfunktionen, wiasWriteMultiple oder wiasWritePropXxx, einschließlich der Aktualisierung aller gültigen Werte, die sich aufgrund des Festlegens einer Eigenschaft möglicherweise geändert haben. Wenn Ihr WIA-Minitreiber beispielsweise das Festlegen der WIA_IPA_DEPTH-Eigenschaft unterstützt, müssen Sie die gültige Liste der Bittiefen aktualisieren, wenn die Anwendung die eigenschaft WIA_IPA_DATATYPE ändert.

    Wenn sich der Wert der WIA_IPA_DATATYPE-Eigenschaft von WIA_DATA_THRESHOLD zu WIA_DATA_COLOR ändert, ändert sich die zugehörige WIA_IPA_DEPTH-Eigenschaft vom Melden einer Ein-Bit-Farbtiefe zu 24 Bit oder 48 Bit.

  5. Rufen Sie die WiasValidateItemProperties-Dienstfunktion auf, damit der WIA-Dienst alle anderen Eigenschaftenanforderungen überprüfen kann. Dies ist ein "Catch-All"-Fall; der WIA-Dienst verfügt über eine integrierte Eigenschaftsüberprüfung.