次の方法で共有


BROWSEINFOA 構造体 (shlobj_core.h)

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

構文

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

メンバーズ

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。 ユーザーが編集ボックスに無効な名前を入力した場合、参照ダイアログ ボックスは、BFFM_VALIDATEFAILED メッセージを含むアプリケーションの BrowseCallbackProc を呼び出します。 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 スタイルのダイアログを使用し、ダイアログのルートを Printers and 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 [デスクトップ アプリのみ]
ヘッダー shlobj_core.h (Shlobj.h、Shlobj_core.h を含む)