Freigeben über


BROWSEINFOW-Struktur (shlobj_core.h)

Enthält Parameter für die SHBrowseForFolder--Funktion und empfängt Informationen zum vom Benutzer ausgewählten Ordner.

Syntax

typedef struct _browseinfoW {
  HWND              hwndOwner;
  PCIDLIST_ABSOLUTE pidlRoot;
  LPWSTR            pszDisplayName;
  LPCWSTR           lpszTitle;
  UINT              ulFlags;
  BFFCALLBACK       lpfn;
  LPARAM            lParam;
  int               iImage;
} BROWSEINFOW, *PBROWSEINFOW, *LPBROWSEINFOW;

Angehörige

hwndOwner

Typ: HWND-

Ein Handle für das Besitzerfenster für das Dialogfeld.

pidlRoot

Typ: PCIDLIST_ABSOLUTE

Eine PIDL, die den Speicherort des Stammordners angibt, aus dem das Browsen gestartet werden soll. Nur der angegebene Ordner und seine Unterordner in der Namespacehierarchie werden im Dialogfeld angezeigt. Dieses Element kann NULL-sein; in diesem Fall wird ein Standardspeicherort verwendet.

pszDisplayName

Typ: LPTSTR-

Zeigen Sie auf einen Puffer, um den Anzeigenamen des vom Benutzer ausgewählten Ordners zu erhalten. Die Größe dieses Puffers wird als MAX_PATH Zeichen angenommen.

lpszTitle

Typ: LPCTSTR-

Zeigen Sie auf eine mit Null beendete Zeichenfolge, die über dem Strukturansichtssteuerelement im Dialogfeld angezeigt wird. Diese Zeichenfolge kann zum Angeben von Anweisungen für den Benutzer verwendet werden.

ulFlags

Typ: UINT-

Flags, die die Optionen für das Dialogfeld angeben. Dieses Element kann 0 oder eine Kombination der folgenden Werte sein. Versionsnummern beziehen sich auf die Mindestversion von Shell32.dll, die für SHBrowseForFolder- erforderlich ist, um in späteren Versionen hinzugefügte Kennzeichnungen zu erkennen. Weitere Informationen finden Sie unter Shell- und allgemeinen Steuerelementversionen.

BIF_RETURNONLYFSDIRS (0x00000001)

0x00000001. Geben Sie nur Dateisystemverzeichnisse zurück. Wenn der Benutzer Ordner auswählt, die nicht Teil des Dateisystems sind, ist die Schaltfläche OK grau dargestellt.

Hinweis Die Schaltfläche OK bleibt für "\\server"-Elemente sowie "\\server\freigabe" und Verzeichniselemente aktiviert. Wenn der Benutzer jedoch ein Element "\\server" auswählt, schlägt die von SHBrowseForFolder zurückgegebene PIDL an SHGetPathFromIDList fehl.
 

BIF_DONTGOBELOWDOMAIN (0x00000002)

0x00000002. Schließen Sie keine Netzwerkordner unterhalb der Domänenebene in das Strukturansichtssteuerelement des Dialogfelds ein.

BIF_STATUSTEXT (0x00000004)

0x00000004. Fügen Sie einen Statusbereich in das Dialogfeld ein. Die Rückruffunktion kann den Statustext festlegen, indem Nachrichten an das Dialogfeld gesendet werden. Dieses Kennzeichen wird nicht unterstützt, wenn BIF_NEWDIALOGSTYLE angegeben wird.

BIF_RETURNFSANCESTORS (0x00000008)

0x00000008. Gibt nur Vorgänger des Dateisystems zurück. Ein Vorgänger ist ein Unterordner, der sich unter dem Stammordner in der Namespacehierarchie befindet. Wenn der Benutzer einen Vorgänger des Stammordners auswählt, der nicht Teil des Dateisystems ist, ist die Schaltfläche OK grau dargestellt.

BIF_EDITBOX (0x00000010)

0x00000010. Version 4.71. Fügen Sie ein Bearbeitungssteuerelement in das Dialogfeld "Durchsuchen" ein, mit dem der Benutzer den Namen eines Elements eingeben kann.

BIF_VALIDATE (0x00000020)

0x00000020. Version 4.71. Wenn der Benutzer einen ungültigen Namen in das Bearbeitungsfeld eingibt, ruft das Suchdialogfeld die BrowseCallbackProc- der Anwendung mit der BFFM_VALIDATEFAILED Nachricht auf. Dieses Kennzeichen wird ignoriert, wenn BIF_EDITBOX nicht angegeben ist.

BIF_NEWDIALOGSTYLE (0x00000040)

0x00000040. Version 5.0. Verwenden Sie die neue Benutzeroberfläche. Wenn Sie dieses Kennzeichen festlegen, erhält der Benutzer ein größeres Dialogfeld, das die Größe ändern kann. Das Dialogfeld verfügt über mehrere neue Funktionen, einschließlich der Drag-and-Drop-Funktion im Dialogfeld, neu anordnen, Kontextmenüs, neue Ordner, Löschen und andere Kontextmenübefehle.

Hinweis Wenn COM über CoInitializeEx- mit dem COINIT_MULTITHREADED Flagsatz initialisiert wird, schlägt SHBrowseForFolder- fehl, wenn BIF_NEWDIALOGSTYLE übergeben wird.
 

BIF_BROWSEINCLUDEURLS (0x00000080)

0x00000080. Version 5.0. Das Dialogfeld "Durchsuchen" kann URLs anzeigen. Die Kennzeichnungen BIF_USENEWUI und BIF_BROWSEINCLUDEFILES müssen ebenfalls festgelegt werden. Wenn eines dieser drei Flags nicht festgelegt ist, lehnt das Browserdialogfeld URLs ab. Selbst wenn diese Kennzeichnungen festgelegt sind, werden im Dialogfeld "Durchsuchen" nur URLs angezeigt, wenn der Ordner, der das ausgewählte Element enthält, URLs unterstützt. Wenn die IShellFolder::GetAttributesOf-Methode des Ordners aufgerufen wird, um die Attribute des ausgewählten Elements anzufordern, muss der Ordner das attributkennzeichnung SFGAO_FOLDER festlegen. Andernfalls wird im Dialogfeld "Durchsuchen" die URL nicht angezeigt.

BIF_USENEWUI

Version 5.0. Verwenden Sie die neue Benutzeroberfläche, einschließlich eines Bearbeitungsfelds. Dieses Kennzeichen entspricht BIF_EDITBOX | BIF_NEWDIALOGSTYLE.

Hinweis Wenn COM über CoInitializeEx- mit dem COINIT_MULTITHREADED Flagsatz initialisiert wird, schlägt SHBrowseForFolder- fehl, wenn BIF_USENEWUI übergeben wird.
 

BIF_UAHINT (0x00000100)

0x00000100. Version 6.0. Wenn sie mit BIF_NEWDIALOGSTYLE kombiniert wird, wird anstelle des Bearbeitungsfelds ein Verwendungshinweis zum Dialogfeld hinzugefügt. BIF_EDITBOX setzt dieses Flag außer Kraft.

BIF_NONEWFOLDERBUTTON (0x00000200)

0x00000200. Version 6.0. Schließen Sie die Schaltfläche Neuen Ordner nicht in das Dialogfeld "Durchsuchen" ein.

BIF_NOTRANSLATETARGETS (0x00000400)

0x00000400. Version 6.0. Wenn das ausgewählte Element eine Verknüpfung ist, geben Sie anstelle des Ziels die PIDL der Verknüpfung selbst zurück.

BIF_BROWSEFORCOMPUTER (0x00001000)

0x00001000. Gibt nur Computer zurück. Wenn der Benutzer etwas anderes als einen Computer auswählt, ist die Schaltfläche OK abgeblendt.

BIF_BROWSEFORPRINTER (0x00002000)

0x00002000. Nur die Auswahl von Druckern zulassen. Wenn der Benutzer etwas anderes als einen Drucker auswählt, wird die schaltfläche OK grau dargestellt.

In Windows XP und späteren Systemen empfiehlt es sich, ein Dialogfeld im Windows XP-Stil zu verwenden und den Stamm des Dialogfelds auf den Ordner Drucker und Faxe (CSIDL_PRINTERS) festzulegen.

BIF_BROWSEINCLUDEFILES (0x00004000)

0x00004000. Version 4.71. Im Dialogfeld "Durchsuchen" werden Dateien sowie Ordner angezeigt.

BIF_SHAREABLE (0x00008000)

0x00008000. Version 5.0. Im Dialogfeld "Durchsuchen" können auf Remotesystemen freigegebene Ressourcen angezeigt werden. Dies ist für Anwendungen vorgesehen, die Remotefreigaben auf einem lokalen System verfügbar machen möchten. Das BIF_NEWDIALOGSTYLE-Flag muss ebenfalls festgelegt werden.

BIF_BROWSEFILEJUNCTIONS (0x00010000)

0x00010000. Windows 7 und höher. Zulassen, dass Ordnerverbindungen wie eine Bibliothek oder eine komprimierte Datei mit einer .zip Dateinamenerweiterung durchsucht werden können.

lpfn

Typ: BFFCALLBACK-

Zeigen Sie auf eine anwendungsdefinierte Funktion, die das Dialogfeld aufruft, wenn ein Ereignis auftritt. Weitere Informationen finden Sie in der BrowseCallbackProc--Funktion. Dieses Element kann NULL-sein.

lParam

Typ: LPARAM-

Ein anwendungsdefinierter Wert, den das Dialogfeld an die Rückruffunktion übergibt, wenn ein Wert in lpfnangegeben wird.

iImage

Typ: int

Ein ganzzahliger Wert, der den Index des Bilds empfängt, das dem ausgewählten Ordner zugeordnet ist, der in der Systembildliste gespeichert ist.

Bemerkungen

Anmerkung

Der header shlobj_core.h definiert BROWSEINFO als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP, Windows 7 [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Header- shlobj_core.h (einschließlich Shlobj.h, Shlobj_core.h)