Freigeben über


IWiaDevMgr::SelectDeviceDlg-Methode (wia_xp.h)

Im IWiaDevMgr::SelectDeviceDlg wird ein Dialogfeld angezeigt, das es dem Benutzer ermöglicht, ein Hardwaregerät für die Bilderfassung auszuwählen.

Syntax

HRESULT SelectDeviceDlg(
  [in]          HWND     hwndParent,
  [in]          LONG     lDeviceType,
  [in]          LONG     lFlags,
  [in, out]     BSTR     *pbstrDeviceID,
  [out, retval] IWiaItem **ppItemRoot
);

Parameter

[in] hwndParent

Typ: HWND

Handle des Fensters, das das Dialogfeld Gerät auswählen besitzt.

[in] lDeviceType

Typ: LONG

Gibt an, welcher Typ von WIA-Gerät verwendet werden soll. Kann auf StiDeviceTypeDefault, StiDeviceTypeScanner oder StiDeviceTypeDigitalCamera festgelegt werden.

[in] lFlags

Typ: LONG

Gibt das Dialogfeldverhalten an. Kann auf einen der folgenden Werte festgelegt werden:

Konstante Bedeutung
0 Verwendet das Standardverhalten.
WIA_SELECT_DEVICE_NODEFAULT Zeigt das Dialogfeld auch dann an, wenn nur ein übereinstimmende Gerät vorhanden ist. Weitere Informationen finden Sie im Abschnitt Hinweise auf dieser Referenzseite.

[in, out] pbstrDeviceID

Typ: BSTR*

Empfängt bei der Ausgabe eine Zeichenfolge, die die Bezeichnerzeichenfolge des Geräts enthält. Übergeben Sie bei der Eingabe die Adresse eines Zeigers, wenn diese Informationen benötigt werden, oder NULL , wenn sie nicht benötigt wird.

[out, retval] ppItemRoot

Typ: IWiaItem**

Empfängt die Adresse eines Zeigers auf die IWiaItem-Schnittstelle des Stammelements der Struktur, das das ausgewählte WIA-Gerät darstellt. Wenn keine Geräte gefunden werden, enthält es den Wert NULL.

Rückgabewert

Typ: HRESULT

Diese Methode gibt die folgenden Werte zurück:

Rückgabewert Bedeutung
S_OK Ein Gerät wurde erfolgreich ausgewählt.
S_FALSE Der Benutzer hat das Dialogfeld abgebrochen.
WIA_S_NO_DEVICE_AVAILABLE Es gibt keine WIA-Hardwaregeräte, die den Spezifikationen im lDeviceType-Parameter entsprechen.

Hinweise

Mit dieser Methode wird das Dialogfeld Gerät auswählen erstellt und angezeigt, damit der Benutzer ein WIA-Gerät für die Bildaufnahme auswählen kann. Wenn ein Gerät erfolgreich ausgewählt wurde, erstellt die IWiaDevMgr::SelectDeviceDlg-Methode eine hierarchische Struktur von IWiaItem-Objekten für das Gerät. Es speichert einen Zeiger auf die IWiaItem-Schnittstelle des Stammelements im Parameter ppItemRoot.

Bestimmte Gerätetypen können dem Benutzer angezeigt werden, indem die Gerätetypen über den Parameter lDeviceType angegeben werden. Wenn nur ein Gerät die Spezifikation erfüllt, zeigt IWiaDevMgr::SelectDeviceDlg das Dialogfeld Gerät auswählen nicht an. Stattdessen wird die IWiaItem-Struktur für das Gerät erstellt und ein Zeiger auf die IWiaItem-Schnittstelle des Stammelements im Parameter ppItemRoot gespeichert. Sie können dieses Verhalten überschreiben und erzwingen , dass IWiaDevMgr::SelectDeviceDlg das Dialogfeld Gerät auswählen anzeigt, indem Sie WIA_SELECT_DEVICE_NODEFAULT als Wert für den lFlags-Parameter übergeben.

Wenn mehr als ein WIA-Gerät der Spezifikation entspricht, werden alle übereinstimmenden Geräte im Dialogfeld Gerät auswählen angezeigt, sodass der Benutzer eines auswählen kann.

Anwendungen müssen die IUnknown::Release-Methode für die Schnittstellenzeiger aufrufen, die sie über den ppItemRoot-Parameter empfangen.

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.

Anforderungen

   
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 (einschließlich Wia.h)
Bibliothek Wiaguid.lib
DLL Wiaservc.dll