Freigeben über


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