BROWSEINFOW 構造体 (shlobj_core.h)

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

構文

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

メンバー

hwndOwner

型: HWND

ダイアログ ボックスの所有者ウィンドウへのハンドル。

pidlRoot

種類: PCIDLIST_ABSOLUTE

参照を開始するルート フォルダーの場所を指定する PIDL。 指定したフォルダーとその名前空間階層内のサブフォルダーのみがダイアログ ボックスに表示されます。 このメンバーは NULL にすることができます。その場合は、既定の場所が使用されます。

pszDisplayName

種類: LPTSTR

ユーザーが選択したフォルダーの表示名を受け取るバッファーへのポインター。 このバッファーのサイズは、MAX_PATH文字と見なされます。

lpszTitle

型: LPCTSTR

ダイアログ ボックスのツリー ビュー コントロールの上に表示される null で終わる文字列へのポインター。 この文字列を使用して、ユーザーに指示を指定できます。

ulFlags

型: UINT

ダイアログ ボックスのオプションを指定するフラグ。 このメンバーは、0 または次の値の組み合わせにすることができます。 バージョン番号は、 SHBrowseForFolder が以降のリリースで追加されたフラグを認識するために必要な Shell32.dll の最小バージョンを参照します。 詳細については、「 シェルと共通コントロールのバージョン 」を参照してください。

BIF_RETURNONLYFSDIRS (0x00000001)

0x00000001。 ファイル システム ディレクトリのみを返します。 ユーザーがファイル システムに含まれていないフォルダーを選択した場合、[ OK] ボタンは灰色で表示されます。

メモ[OK] ボタンは、"\\server" 項目、および "\\server\share" およびディレクトリ項目に対して有効なままです。 ただし、ユーザーが "\\server" 項目を選択した場合、 SHBrowseForFolder によって返される PIDL を SHGetPathFromIDList に渡すことは失敗します。
 

BIF_DONTGOBELOWDOMAIN (0x00000002)

0x00000002。 ダイアログ ボックスのツリー ビュー コントロールに、ドメイン レベルの下にネットワーク フォルダーを含めないでください。

BIF_STATUSTEXT (0x00000004)

0x00000004。 ダイアログ ボックスに状態領域を含めます。 コールバック関数は、ダイアログ ボックスにメッセージを送信することで、状態テキストを設定できます。 BIF_NEWDIALOGSTYLEが指定されている場合、このフラグはサポートされません。

BIF_RETURNFSANCESTORS (0x00000008)

0x00000008。 ファイル システムの先祖のみを返します。 先祖は、名前空間階層のルート フォルダーの下にあるサブフォルダーです。 ユーザーがファイル システムに含まれていないルート フォルダーの先祖を選択すると、[ OK] ボタンは灰色表示されます。

BIF_EDITBOX (0x00000010)

0x00000010。 バージョン 4.71。 ユーザーがアイテムの名前を入力できるようにする編集コントロールを参照ダイアログ ボックスに含めます。

BIF_VALIDATE (0x00000020)

0x00000020。 バージョン 4.71。 ユーザーが編集ボックスに無効な名前を入力した場合、参照ダイアログ ボックスはアプリケーションの BrowseCallbackProc を呼び出し、 BFFM_VALIDATEFAILED メッセージを表示します。 BIF_EDITBOXが指定されていない場合、このフラグは無視されます。

BIF_NEWDIALOGSTYLE (0x00000040)

0x00000040。 バージョン 5.0。 新しいユーザー インターフェイスを使用します。 このフラグを設定すると、サイズを変更できる大きなダイアログ ボックスがユーザーに表示されます。 ダイアログ ボックスには、ダイアログ ボックス内のドラッグ アンド ドロップ機能、並べ替え、ショートカット メニュー、新しいフォルダー、削除、その他のショートカット メニュー コマンドなど、いくつかの新機能があります。

メモ COINIT_MULTITHREADED フラグが設定された CoInitializeEx を介して COM が初期化されると、BIF_NEWDIALOGSTYLEが渡されると SHBrowseForFolder は失敗します。
 

BIF_BROWSEINCLUDEURLS (0x00000080)

0x00000080。 バージョン 5.0。 [参照] ダイアログ ボックスには URL を表示できます。 BIF_USENEWUIフラグとBIF_BROWSEINCLUDEFILESフラグも設定する必要があります。 これら 3 つのフラグのいずれかが設定されていない場合、ブラウザー ダイアログ ボックスは URL を拒否します。 これらのフラグが設定されている場合でも、選択したアイテムを含むフォルダーが URL をサポートしている場合にのみ、参照ダイアログ ボックスに URL が表示されます。 フォルダーの IShellFolder::GetAttributesOf メソッドを呼び出して選択したアイテムの属性を要求する場合、フォルダーは SFGAO_FOLDER 属性フラグを設定する必要があります。 それ以外の場合、参照ダイアログ ボックスには URL は表示されません。

BIF_USENEWUI

バージョン 5.0。 編集ボックスを含む新しいユーザー インターフェイスを使用します。 このフラグは、BIF_EDITBOX |BIF_NEWDIALOGSTYLE。

メモ COINIT_MULTITHREADED フラグが設定された CoInitializeEx を介して COM が初期化されると、BIF_USENEWUIが渡されると SHBrowseForFolder は失敗します。
 

BIF_UAHINT (0x00000100)

0x00000100。 バージョン 6.0。 BIF_NEWDIALOGSTYLEと組み合わせると、編集ボックスの代わりに使用ヒントがダイアログ ボックスに追加されます。 BIF_EDITBOXは、このフラグをオーバーライドします。

BIF_NONEWFOLDERBUTTON (0x00000200)

0x00000200。 バージョン 6.0。 [参照] ダイアログ ボックスに [新しいフォルダー] ボタンを含めないでください。

BIF_NOTRANSLATETARGETS (0x00000400)

0x00000400。 バージョン 6.0。 選択した項目がショートカットの場合は、ターゲットではなくショートカット自体の PIDL を返します。

BIF_BROWSEFORCOMPUTER (0x00001000)

0x00001000。 コンピューターのみを返します。 ユーザーがコンピューター以外を選択した場合、[OK] ボタンは淡色表示になります。

BIF_BROWSEFORPRINTER (0x00002000)

0x00002000。 プリンターの選択のみを許可します。 ユーザーがプリンター以外を選択した場合、[OK] ボタンは淡色表示になります。

Windows XP 以降のシステムでは、Windows XP スタイルのダイアログを使用し、ダイアログのルートを [プリンターと FAX ] フォルダー (CSIDL_PRINTERS) に設定することをお勧めします。

BIF_BROWSEINCLUDEFILES (0x00004000)

0x00004000。 バージョン 4.71。 [参照] ダイアログ ボックスには、ファイルとフォルダーが表示されます。

BIF_SHAREABLE (0x00008000)

0x00008000。 バージョン 5.0。 [参照] ダイアログ ボックスには、リモート システム上の共有可能なリソースを表示できます。 これは、ローカル システムでリモート共有を公開するアプリケーションを対象としています。 BIF_NEWDIALOGSTYLE フラグも設定する必要があります。

BIF_BROWSEFILEJUNCTIONS (0x00010000)

0x00010000。 Windows 7 以降。 .zip ファイル名拡張子を持つライブラリや圧縮ファイルなどのフォルダー ジャンクションを参照できるようにします。

lpfn

種類: BFFCALLBACK

イベントが発生したときにダイアログ ボックスが呼び出すアプリケーション定義関数へのポインター。 詳細については、 BrowseCallbackProc 関数を参照してください。 このメンバーには NULL を指定できます。

lParam

型: LPARAM

ダイアログ ボックスがコールバック関数に渡すアプリケーション定義値 ( lpfn で指定されている場合)。

iImage

型: int

システム イメージの一覧に格納されている、選択したフォルダーに関連付けられているイメージのインデックスを受け取る整数値。

注釈

注意

shlobj_core.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして BROWSEINFO を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP、Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header shlobj_core.h (Shlobj.h、Shlobj_core.h を含む)