BROWSEINFO

SHBrowseForFolder関数で使用されるパラメータを格納し、ユーザーに選択されたフォルダの情報を受け取ります。

typedef struct _browseinfo { 
    HWND          hwndOwner; 
    LPCITEMIDLIST pidlRoot; 
    LPTSTR        pszDisplayName; 
    LPCTSTR       lpszTitle; 
    UINT          ulFlags; 
    BFFCALLBACK   lpfn; 
    LPARAM        lParam; 
    int           iImage; 
} BROWSEINFO, *PBROWSEINFO, *LPBROWSEINFO;

メンバ

hwndOwner

表示されるダイアログボックスのオーナーウィンドウを指定します。

pidlRoot

ルートフォルダを表すアイテムIDリストへのポインタ(PIDL)を指定します。ダイアログボックスには、指定されたフォルダとそのサブフォルダのみが表示されます。

0 (NULL) を指定した場合には、シェルネームスペースのルート(デスクトップフォルダ)が指定されます。

pszDisplayName

ユーザーに選択されたアイテムの表示名を格納するバッファのアドレスを指定します。このバッファは260 (MAX_PATH) 文字分だけ確保されていなければなりません。

lpszTitle

ダイアログボックスのツリービューコントロールの上部に表示される文字列のアドレスを指定します。

ulFlags

ダイアログボックスのオプションフラグを指定します。0または以下の値の組み合わせを指定します。

0x0001 (BIF_RETURNONLYFSDIRS)

ファイルシステムディレクトリのみを返します。それ以外のアイテムが選択されているときには、[OK]ボタンは灰色表示になります。

0x0002 (BIF_DONTGOBELOWDOMAIN)

ダイアログボックスのツリービューコントロールにドメインレベルのネットワークフォルダを含めないようにします。

0x0004 (BIF_STATUSTEXT)

ダイアログボックスにステータス領域を表示します。表示テキストを設定するには、コールバック関数からダイアログボックスにメッセージを送信します。

0x0008 (BIF_RETURNFSANCESTORS)

シェルネームスペース階層構造の中でルートフォルダの下にあるファイルシステムサブフォルダのみを返します。それ以外のアイテムが選択されているときには、[OK]ボタンは灰色表示になります。

0x0010 (BIF_EDITBOX)

Version 4.71 以降: ユーザーがアイテム名を書き込むことができるエディットコントロールを表示します。

0x0020 (BIF_VALIDATE)

Version 4.71 以降: ユーザーがエディットコントロールに無効な名前を入力した場合に、 BFFM_VALIDATEFAILED メッセージとともにコールバック関数が呼び出されます。BIF_EDITBOXフラグが指定されていない場合は、このフラグは無視されます。

0x0040 (BIF_NEWDIALOGSTYLE)

Version 5.0 以降: 新しいユーザーインターフェースを使用します。従来のダイアログボックスよりも大きい、リサイズ可能なダイアログボックスが表示され、ダイアログボックスへのドラッグアンドドロップ、フォルダの再整理、ショートカットメニュー、新しいフォルダ作成、削除、その他のショートカットメニューコマンドが追加されます。このフラグを使用するには、あらかじめOleInitialize関数またはCoInitialize関数を呼び出してCOMを初期化しておく必要があります。

0x0050 (BIF_USENEWUI)

Version 5.0 以降: エディットコントロールを持つ、新しいユーザーインターフェースを使用します。このフラグはBIF_EDITBOX|BIF_NEWDIALOGSTYLEと同等です。このフラグを使用するには、あらかじめOleInitialize関数またはCoInitialize関数を呼び出してCOMを初期化しておく必要があります。

0x0080 (BIF_BROWSEINCLUDEURLS)

Version 5.0 以降: URLを表示することができるようにします。BIF_USENEWUIBIF_BROWSEINCLUDEFILESが同時に指定されていなければなりません。これらのフラグが設定されているとき、選択されたアイテムを含むフォルダがサポートする場合にのみ、URLが表示されます。アイテムの属性を問い合わせるためにフォルダのIShellFolder::GetAttributesOf メソッドが呼び出されたときに、フォルダによってSFGAO_FOLDER属性フラグが設定された場合にのみ、URLが表示されます。

0x0100 (BIF_UAHINT)

Version 6.0 以降: エディットコントロールの代わりに、ダイアログボックスに用法ヒントを追加します。BIF_NEWDIALOGSTYLEフラグとともに指定しなければなりません。

0x0200 (BIF_NONEWFOLDERBUTTON)

Version 6.0 以降: ダイアログボックスに「新しいフォルダ」ボタンを表示しないようにします。BIF_NEWDIALOGSTYLEフラグとともに指定しなければなりません。

0x0400 (BIF_NOTRANSLATETARGETS)

Version 6.0 以降: 選択されたアイテムがショートカットであるとき、そのリンク先ではなく、ショートカットファイル自体のPIDLを返します。

0x1000 (BIF_BROWSEFORCOMPUTER)

コンピュータのみを返します。それ以外のアイテムが選択されているときには、[OK]ボタンは灰色表示になります。

0x2000 (BIF_BROWSEFORPRINTER)

プリンタのみを返します。それ以外のアイテムが選択されているときには、OK ボタンは灰色表示になります。

0x4000 (BIF_BROWSEINCLUDEFILES)

Version 4.71 以降: フォルダとファイルを表示します。

0x8000 (BIF_SHAREABLE)

Version 5.0 以降: リモートシステム上にある共有リソースを表示できるようにします。BIF_USENEWUIフラグとともに指定しなければなりません。

lpfn

イベント発生時にダイアログボックスから呼び出されるBrowseCallbackProcコールバック関数のアドレスを指定します。コールバック関数が必要ない場合は0 (NULL) を指定します。

lParam

コールバック関数に渡されるアプリケーション定義値を指定します。

iImage

選択されたフォルダと関連付けられるイメージの、システムイメージリスト中におけるインデックスが格納されます。

対応情報

Shell32.dll Version 4.00 以降

Windows 95 以降 / Windows NT 4.0 以降

変数との対応

HSP変数 メンバ
メンバ名 オフセット サイズ
binfo.0 hwndOwner 0 4
binfo.1 pidlRoot 4 4
binfo.2 pszDisplayName 8 4
binfo.3 lpszTitle 12 4
binfo.4 ulFlags 16 4
binfo.5 lpfn 20 4
binfo.6 lParam 24 4
binfo.7 iImage 28 4