IWiaDevMgr::GetImageDlg-Methode (wia_xp.h)
Die IWiaDevMgr::GetImageDlg-Methode zeigt ein oder mehrere Dialogfelder an, die es einem Benutzer ermöglichen, ein Bild von einem WIA-Gerät (Windows Image Acquisition) abzurufen und das Bild in eine angegebene Datei zu schreiben. Diese Methode kombiniert die Funktionalität von IWiaDevMgr::SelectDeviceDlg , um die Bilderfassung innerhalb eines einzelnen API-Aufrufs vollständig zu kapseln.
Syntax
HRESULT GetImageDlg(
[in] HWND hwndParent,
[in] LONG lDeviceType,
[in] LONG lFlags,
[in] LONG lIntent,
[in] IWiaItem *pItemRoot,
[in] BSTR bstrFilename,
[in, out] GUID *pguidFormat
);
Parameter
[in] hwndParent
Typ: HWND
Handle des Fensters, das besitzer des Dialogfelds Bild abrufen ist.
[in] lDeviceType
Typ: LONG
Gibt an, welcher Typ von WIA-Gerät verwendet werden soll. Ist auf StiDeviceTypeDefault, StiDeviceTypeScanner oder StiDeviceTypeDigitalCamera festgelegt.
[in] lFlags
Typ: LONG
Gibt das Dialogfeldverhalten an. Kann auf die folgenden Werte festgelegt werden:
Flag | Bedeutung |
---|---|
0 | Standardverhalten. |
WIA_SELECT_DEVICE_NODEFAULT | Erzwingen Sie, dass diese Methode das Dialogfeld Gerät auswählen anzeigt. Weitere Informationen finden Sie im Abschnitt Hinweise auf dieser Referenzseite. |
WIA_DEVICE_DIALOG_SINGLE_IMAGE | Beschränken Sie die Bildauswahl im Dialogfeld Geräteabbilderfassung auf ein einzelnes Bild. |
WIA_DEVICE_DIALOG_USE_COMMON_UI | Verwenden Sie die Systembenutzeroberfläche( falls verfügbar) 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. |
[in] lIntent
Typ: LONG
Gibt an, welchen Datentyp das Bild darstellen soll. Eine Liste der Bildabsichtswerte finden Sie unter Bildabsichtkonstanten.
[in] pItemRoot
Typ: IWiaItem*
Zeiger auf die Schnittstelle der hierarchischen Struktur von IWiaItem-Objekten , die von IWiaDevMgr::CreateDevice zurückgegeben werden.
[in] bstrFilename
Typ: BSTR
Gibt den Namen der Datei an, in die die Bilddaten geschrieben werden.
[in, out] pguidFormat
Typ: GUID*
Enthält bei der Eingabe einen Zeiger auf eine GUID, die das zu verwendende Format angibt. Enthält bei der Ausgabe das verwendete Format. Übergeben Sie IID_NULL, um das Standardformat zu verwenden.
Rückgabewert
Typ: HRESULT
IWiaDevMgr::GetImageDlg gibt S_FALSE zurück, wenn der Benutzer die Dialogfelder zur Geräteauswahl oder Bilderfassung abbricht, WIA_S_NO_DEVICE_AVAILABLE, wenn derzeit kein WIA-Gerät verfügbar ist, E_NOTIMPL, wenn keine Benutzeroberfläche verfügbar ist, und S_OK, wenn die Daten erfolgreich übertragen werden.
IWiaDevMgr::GetImageDlg gibt einen in Fehlercodes angegebenen Wert oder einen COM-Standardfehler zurück, wenn er aus einem anderen als dem angegebenen Grund fehlschlägt.
Hinweise
Wenn Sie diese Methode aufrufen, wird ein Dialogfeld angezeigt, in dem Benutzer Bilder abrufen können. Außerdem kann das Dialogfeld Gerät auswählen angezeigt werden, das von der IWiaDevMgr::SelectDeviceDlg-Methode erstellt wurde.
Wenn die Anwendung NULL für den Wert des pItemRoot-Parameters übergibt, zeigt IWiaDevMgr::GetImageDlg das Dialogfeld Gerät auswählen an, in dem der Benutzer das WIA-Eingabegerät auswählen kann. Wenn die Anwendung ein WIA-Eingabegerät angibt, indem sie über den pItemRoot-Parameter einen Zeiger auf die Elementstruktur des Geräts übergibt, zeigt IWiaDevMgr::GetImageDlg das Dialogfeld Gerät auswählen nicht an. Stattdessen wird das angegebene Eingabegerät verwendet, um das Bild zu erhalten.
Wenn Sie das Dialogfeld Gerät auswählen verwenden , können Anwendungen Typen von WIA-Eingabegeräten angeben. Dazu müssen sie den pItemRoot-Parameter auf NULL festlegen und die entsprechenden Konstanten über den lDeviceType-Parameter übergeben. Wenn mehr als ein Gerät des angegebenen Typs vorhanden ist, zeigt IWiaDevMgr::GetImageDlg das Dialogfeld Gerät auswählen an, damit der Benutzer auswählen kann, welches Gerät verwendet wird.
Wenn IWiaDevMgr::GetImageDlg nur ein übereinstimmendes Gerät findet, wird das Dialogfeld Gerät auswählen nicht angezeigt. Stattdessen wird das entsprechende Gerät ausgewählt. Sie können dieses Verhalten überschreiben und erzwingen , dass IWiaDevMgr::GetImageDlg das Dialogfeld Gerät auswählen anzeigt, indem Sie WIA_SELECT_DEVICE_NODEFAULT als Wert für den lFlags-Parameter übergeben.
Es wird empfohlen, dass Anwendungen die Geräte- und Bildauswahl über ein Menüelement mit dem Namen Von Scanner oder Kamera im Menü Datei verfügbar machen.
Das Dialogfeld muss über ausreichende Rechte für den Ordner für bstrFilename verfügen, damit die Datei mit einem eindeutigen Dateinamen gespeichert werden kann. Der Ordner sollte auch mit einer Zugriffssteuerungsliste (Access Control List, ACL) geschützt werden, da er Benutzerdaten enthält.
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 |