SHCreateShellItemArrayFromDataObject 関数 (shobjidl_core.h)
データ オブジェクトからシェル項目配列オブジェクトを作成します。
構文
SHSTDAPI SHCreateShellItemArrayFromDataObject(
[in] IDataObject *pdo,
[in] REFIID riid,
[out] void **ppv
);
パラメーター
[in] pdo
型: IDataObject*
IDataObject インターフェイスへのポインター。
[in] riid
種類: REFIID
目的のインターフェイス ID への参照。
[out] ppv
型: void**
このメソッドが戻るとき、 には 、riid で要求されたインターフェイス ポインターが含まれます。 これは通常 、IShellItemArray です。
戻り値
種類: HRESULT
この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
注釈
この関数は、 IShellExtInit を実装し、データ オブジェクトを IShellExtInit::Initialize メソッドに渡すシェル拡張機能に役立ちます。たとえば、コンテキスト メニュー ハンドラーなどです。
この API を使用すると、ハンドラーが使用できるシェル項目にデータ オブジェクトを変換できます。 ハンドラーでは、コードがシンプルになり、パフォーマンスが向上するため、 CF_HDROP や CFSTR_SHELLIDLIST (HIDA とも呼ばれます) などのクリップボード形式ではなくシェル項目配列を使用することをお勧めします。
結果のシェル項目配列は、ソース データ オブジェクトへの参照を保持します。 したがって、そのデータ オブジェクトは、シェル項目配列の有効期間にわたって有効なままである必要があります。 特に、 IDropTarget メソッドに渡されるデータ オブジェクトは、ドロップ操作の完了後に無効になります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shobjidl_core.h (Shobjidl.h を含む) |
[DLL] | Shell32.dll |
API セット | ext-ms-win-shell-shell32-l1-2-2 (Windows 10 バージョン 10.0.14393 で導入) |