IWiaDevMgr2::GetImageDlg-Methode
Die IWiaDevMgr2::GetImageDlg-Methode zeigt ein oder mehrere Dialogfelder an, die es einem Benutzer ermöglichen, ein Bild von einem Windows Image Acquisition 2.0-Gerät (WIA) abzurufen und das Bild in eine angegebene Datei zu schreiben. Diese Methode erweitert die Funktionalität von IWiaDevMgr2::SelectDeviceDlg , um die Bilderfassung innerhalb eines einzelnen API-Aufrufs zu kapseln.
Syntax
HRESULT GetImageDlg(
[in] LONG lFlags,
[in] BSTR bstrDeviceID,
[in] HWND hwndParent,
[in] BSTR bstrFolderName,
[in] BSTR bstrFilename,
[in] LONG *plNumFiles,
[in] BSTR **ppbstrFilePaths,
[in, out] IWiaItem2 **ppItem
);
Parameter
-
lFlags [in]
-
Typ: LONG
Gibt das Dialogfeldverhalten an. Kann auf die folgenden Werte festgelegt werden:
Flag Bedeutung 0 Standardverhalten. WIA_DEVICE_DIALOG_USE_COMMON_UI Verwenden Sie die Systembenutzeroberfläche anstelle der vom Anbieter bereitgestellten Benutzeroberfläche. Wenn die Systemoberfläche nicht verfügbar ist, wird die Benutzeroberfläche des Anbieters verwendet. Wenn keine benutzeroberfläche verfügbar ist, gibt die Funktion E_NOTIMPL zurück. -
bstrDeviceID [in]
-
Typ: BSTR
Gibt den zu verwendenden Scanner an.
-
hwndParent [in]
-
Typ: HWND
Ein Handle des Fensters, das besitzer des Dialogfelds Bild abrufen ist.
-
bstrFolderName [in]
-
Typ: BSTR
Gibt den Namen des Ordners an, in dem die gescannten Dateien gespeichert werden.
-
bstrFilename [in]
-
Typ: BSTR
Gibt den Namen der Datei an, in die die Bilddaten geschrieben werden sollen.
-
plNumFiles [in]
-
Typ: LONG*
Ein Zeiger auf die Anzahl der zu überprüfenden Dateien.
-
ppbstrFilePaths [in]
-
Typ: BSTR**
Die Adresse eines Zeigers auf ein Array von Pfaden für die gescannten Dateien. Initialisieren Sie den Zeiger, um auf ein Array der Größe 0 (0) zu zeigen, bevor IWiaDevMgr2::GetImageDlg aufgerufen wird. Siehe Hinweise.
-
ppItem [in, out]
-
Typ: IWiaItem2**
Die Adresse eines Zeigers auf das IWiaItem2, aus dem die Bilder gescannt wurden.
Rückgabewert
Typ: HRESULT
IWiaDevMgr2::GetImageDlg gibt S_OK zurück, wenn die Daten erfolgreich übertragen wurden, gibt S_FALSE zurück, wenn der Benutzer das Dialogfeld abbricht, oder gibt einen COM-Standardfehler zurück.
Hinweis
Der ppbstrFilePaths-Parameter ist nicht notwendigerweise leer, wenn die Funktion S_FALSE zurückgibt. Wenn der Benutzer abbricht, werden die Seiten, die die Überprüfung abgeschlossen haben, verarbeitet und in ppbstrFilePaths zurückgegeben. Auch wenn sie nicht verwendet werden, müssen Sie das Array freigeben. Siehe Hinweise.
Bemerkungen
Wenn die Anwendung NULL für den Wert des bstrDeviceID-Parameters übergibt, zeigt IWiaDevMgr2::GetImageDlg das Dialogfeld Gerät auswählen an, damit der Benutzer das WIA 2.0-Eingabegerät auswählen kann.
Verwenden Sie im Menü Datei ein Menüelement mit dem Namen Von Scanner, damit geräte- und bildauswahlen in Ihrer Anwendung verfügbar sind.
Rufen Sie SysFreeString für jeden BSTR im Array auf, auf das ppbstrFilePaths[i] verweist, und rufen Sie CoTaskMemFree für das Array selbst auf, um zugeordneten Arbeitsspeicher freizugeben. Wenn S_FALSE zurückgegeben wird, überprüfen Sie, ob der Wert, auf den plNumFiles verweist, nicht null ist. Wenn der Wert nicht null ist, geben Sie die ppbstrFilePaths[i]-Ressourcen in der Anwendung frei, da der Benutzer nach dem Scannen einer oder mehrerer Seiten möglicherweise abbrechen kann. Initialisieren Sie plNumFiles auf null, bevor Sie IWiaDevMgr2::GetImageDlg aufrufen. Wenn plNumFiles nicht auf null initialisiert wird und ein Fehler in der COM-Infrastruktur dazu führt, dass die Funktion S_FALSE zurückgibt, bevor IWiaDevMgr2::GetImageDlg aufgerufen wird, weist plNumFiles einen irreführenden Garbage-Wert auf.
Das Dialogfeld muss über ausreichende Rechte für bstrFolderName verfügen, damit die Dateien mit eindeutigen Dateinamen gespeichert werden können. Schützen Sie den Ordner mit einer Zugriffssteuerungsliste (Access Control List, ACL), da er Benutzerdaten enthält.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2008 [nur Desktop-Apps] |
Header |
|