Share via


BROWSEINFOA-Struktur (shlobj_core.h)

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

Syntax

typedef struct _browseinfoA {
  HWND              hwndOwner;
  PCIDLIST_ABSOLUTE pidlRoot;
  LPSTR             pszDisplayName;
  LPCSTR            lpszTitle;
  UINT              ulFlags;
  BFFCALLBACK       lpfn;
  LPARAM            lParam;
  int               iImage;
} BROWSEINFOA, *PBROWSEINFOA, *LPBROWSEINFOA;

Member

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, von dem aus mit dem Durchsuchen begonnen werden soll. Nur der angegebene Ordner und die zugehörigen Unterordner in der Namespacehierarchie werden im Dialogfeld angezeigt. Dieser Member kann NULL sein; in diesem Fall wird ein Standardspeicherort verwendet.

pszDisplayName

Typ: LPTSTR

Zeiger auf einen Puffer, um den Anzeigenamen des vom Benutzer ausgewählten Ordners zu erhalten. Es wird davon ausgegangen, dass die Größe dieses Puffers MAX_PATH Zeichen ist.

lpszTitle

Typ: LPCTSTR

Zeiger auf eine NULL-endende Zeichenfolge, die über dem Strukturansichtssteuerelement im Dialogfeld angezeigt wird. Diese Zeichenfolge kann verwendet werden, um Anweisungen für den Benutzer anzugeben.

ulFlags

Typ: UINT

Flags, die die Optionen für das Dialogfeld angeben. Dieser Member kann 0 oder eine Kombination der folgenden Werte sein. Versionsnummern beziehen sich auf die Mindestversion von Shell32.dll erforderlich, damit SHBrowseForFolder Flags erkennt, die in späteren Versionen hinzugefügt wurden. Weitere Informationen finden Sie unter Versionen von Shell- und allgemeinen Steuerelementen .

BIF_RETURNONLYFSDIRS (0x00000001)

0x00000001. Geben Nur Dateisystemverzeichnisse zurück. Wenn der Benutzer Ordner auswählt, die nicht Teil des Dateisystems sind, wird die Schaltfläche OK abgeblendet.

Hinweis Die Schaltfläche OK bleibt für "\\server"-Elemente sowie "\\server\share" 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. Schließen Sie einen status Bereich in das Dialogfeld ein. Die Rückruffunktion kann den status Text festlegen, indem Nachrichten an das Dialogfeld gesendet werden. Dieses Flag wird nicht unterstützt, wenn BIF_NEWDIALOGSTYLE angegeben wird.

BIF_RETURNFSANCESTORS (0x00000008)

0x00000008. Geben Nur Dateisystem-Vorgänger 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, wird die Schaltfläche OK abgeblendet.

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 Dialogfeld Durchsuchen den BrowseCallbackProc der Anwendung mit der BFFM_VALIDATEFAILED Meldung auf. Dieses Flag wird ignoriert, wenn BIF_EDITBOX nicht angegeben ist.

BIF_NEWDIALOGSTYLE (0x00000040)

0x00000040. Version 5.0. Verwenden Sie die neue Benutzeroberfläche. Durch Das Festlegen dieses Flags wird dem Benutzer ein größeres Dialogfeld bereitgestellt, das die Größe ändern kann. Das Dialogfeld verfügt über mehrere neue Funktionen, z. B. Drag-and-Drop-Funktionen innerhalb des Dialogfelds, Neuanordnung, Kontextmenüs, neue Ordner, Löschen und andere Kontextmenübefehle.

Hinweis Wenn COM über CoInitializeEx initialisiert wird und das flag COINIT_MULTITHREADED festgelegt ist, schlägt SHBrowseForFolder fehl, wenn BIF_NEWDIALOGSTYLE übergeben wird.
 

BIF_BROWSEINCLUDEURLS (0x00000080)

0x00000080. Version 5.0. Im Dialogfeld durchsuchen können URLs angezeigt werden. Die flags 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 Flags 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 attributflag SFGAO_FOLDER festlegen. Andernfalls wird die URL nicht im Dialogfeld "Durchsuchen" angezeigt.

BIF_USENEWUI

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

Hinweis Wenn COM über CoInitializeEx initialisiert wird und das flag COINIT_MULTITHREADED festgelegt ist, schlägt SHBrowseForFolder fehl, wenn BIF_USENEWUI übergeben wird.
 

BIF_UAHINT (0x00000100)

0x00000100. Version 6.0. In Kombination mit BIF_NEWDIALOGSTYLE fügt dem Dialogfeld anstelle des Bearbeitungsfelds einen Verwendungshinweis hinzu. BIF_EDITBOX überschreibt dieses Flag.

BIF_NONEWFOLDERBUTTON (0x00000200)

0x00000200. Version 6.0. Schließen Sie die Schaltfläche Neuer 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 die PIDL der Verknüpfung selbst anstelle des Ziels zurück.

BIF_BROWSEFORCOMPUTER (0x00001000)

0x00001000. Geben Sie nur Computer zurück. Wenn der Benutzer ein anderes Element als einen Computer auswählt, ist die Schaltfläche OK ausgegraut.

BIF_BROWSEFORPRINTER (0x00002000)

0x00002000. Lassen Sie nur die Auswahl von Druckern zu. Wenn der Benutzer ein anderes Element als einen Drucker auswählt, ist die Schaltfläche OK ausgegraut.

In Windows XP- und höheren Systemen besteht die bewährte Methode darin, 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 Sowohl Dateien als auch Ordner angezeigt.

BIF_SHAREABLE (0x00008000)

0x00008000. Version 5.0. Im Dialogfeld Durchsuchen können auf Remotesystemen verharrbare 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.

lpfn

Typ: BFFCALLBACK

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

lParam

Typ: LPARAM

Ein anwendungsdefinierter Wert, den das Dialogfeld an die Rückruffunktion übergibt, wenn er in lpfn angegeben ist.

iImage

Typ: int

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

Hinweise

Hinweis

Der shlobj_core.h-Header 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 nicht codierungsneutralem Code 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
Unterstützte Mindestversion (Client) Windows XP, Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile shlobj_core.h (einschließlich Shlobj.h, Shlobj_core.h)