IShellItem.BindToHandler関数のBHID_StorageEnumとBHID_EnumItemsの違い
IShellItem.BindToHandler関数の引数にBHID_StorageEnumとBHID_EnumItemsを指定した場合、以下の点が異なります。
BHID | 概要 |
---|---|
BHID_StorageEnum | 作成されたIEnumShellItemsはファイルシステムオブジェクトのみ列挙する。 |
BHID_EnumItems | 作成されたIEnumShellItemsはファイルシステムオブジェクトと特殊オブジェクトを列挙する。 |
実際の取得例を改変したものを下記に示します。斜線は環境により名前が異なるものです。なお、USB接続したスマートフォンはUSBストレージではなく、メーカーの提供するドライバにより特殊なフォルダとして扱われるものです。
BHID | 出力例 |
---|---|
BHID_StorageEnum | Cドライブの名前 (C:) Dドライブの名前 (D:) |
BHID_EnumItems | Cドライブの名前 (C:) Dドライブの名前 (D:) USB接続したスマートフォン ダウンロード 3D オブジェクト ピクチャ ミュージック デスクトップ ドキュメント ビデオ |
C#によるサンプルプロジェクトのリポジトリ github.com