IWiaDataTransfer::idtGetBandedData-Methode (wia_xp.h)
Die IWiaDataTransfer::idtGetBandedData-Methode überträgt ein Datenband von einem Hardwaregerät an eine Anwendung. Aus Effizienzgründen rufen Anwendungen Daten von Windows Image Acquisition (WIA)-Hardwaregeräten in aufeinanderfolgenden Bändern ab.
Syntax
HRESULT idtGetBandedData(
[in] PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,
[in] IWiaDataCallback *pIWiaDataCallback
);
Parameter
[in] pWiaDataTransInfo
Typ: PWIA_DATA_TRANSFER_INFO
Zeiger auf die WIA_DATA_TRANSFER_INFO-Struktur .
[in] pIWiaDataCallback
Typ: IWiaDataCallback*
Zeiger auf die IWiaDataCallback-Schnittstelle . In regelmäßigen Abständen ruft diese Methode die BandedDataCallback-Methode auf, um der Anwendung Datenübertragungen status Benachrichtigung bereitzustellen.
Rückgabewert
Typ: HRESULT
Diese Methode kann einen der folgenden Werte zurückgeben:
Rückgabewert | Bedeutung |
---|---|
E_INVALIDARG | Mindestens ein Parameter für diese Methode enthält ungültige Daten. |
E_OUTOFMEMORY | Diese Methode kann nicht genügend Arbeitsspeicher zuweisen, um den Vorgang abzuschließen. |
E_UNEXPECTED | Unbekannter Fehler aufgetreten. |
S_FALSE | Die Anwendung hat den Vorgang abgebrochen. |
S_OK | Das Image wurde erfolgreich abgerufen. |
STG_E_MEDIUMFULL | Das Speichermedium, das die Anwendung zum Abrufen des Images verwendet, ist voll. |
WIA_S_NO_DEVICE_AVAILABLE | An den Computer des Benutzers sind keine WIA-Hardwaregeräte angeschlossen. |
Diese Methode gibt einen unter Fehlercodes angegebenen Wert oder einen COM-Standardfehler zurück, wenn sie aus einem anderen als den in der vorherigen Tabelle angegebenen Gründen fehlschlägt.
Hinweise
Die IWiaDataTransfer::idtGetBandedData-Methode weist einen Speicherabschnitt für die Übertragung von Daten zu, ohne dass eine zusätzliche Datenkopie über die COM/RPC-Marshallingschicht (Component Object Model/Remote Procedure Call) erforderlich ist. Dieser Speicherabschnitt wird von der Anwendung und der Elementstruktur des Hardwaregeräts gemeinsam genutzt.
Optional kann die Anwendung einen Zeiger auf einen Speicherblock übergeben, den IWiaDataTransfer::idtGetBandedData als freigegebenen Abschnitt verwendet. Die Anwendung übergibt dieses Handle, indem sie den Zeiger im ulSection-Member der WIA_DATA_TRANSFER_INFO-Struktur speichert, bevor IWiaDataTransfer::idtGetBandedData aufgerufen wird.
Anwendungen können die Leistung mithilfe der doppelten Pufferung verbessern. Dazu müssen Anwendungen den bDoubleBuffer-Member der WIA_DATA_TRANSFER_INFO-Struktur auf TRUE festlegen. Die IWiaDataTransfer::idtGetBandedData-Methode teilt den Datenpuffer in die Hälfte auf. Wenn eine Hälfte des Puffers voll ist, sendet IWiaDataTransfer::idtGetBandedData mithilfe des IWiaDataCallback-Zeigers , der über den Parameter pIWiaDataCallback übergeben wird, eine Benachrichtigung an die Anwendung. Während die Anwendung die Daten aus der gesamten Hälfte des Puffers abruft, kann der Gerätetreiber die andere Hälfte mit Daten füllen.
Das Format der Datenübertragung wird durch die Werte der eigenschaften WIA_IPA_FORMAT und WIA_IPA_TYMED des Elements bestimmt. Die Anwendung legt diese Eigenschaften mit Aufrufen der IWiaPropertyStorage::WriteMultiple-Methode fest.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional, Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wia_xp.h (wia.h einschließen) |
Bibliothek | Wiaguid.lib |
DLL | Wiaservc.dll |