次の方法で共有


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_HDROPCFSTR_SHELLIDLIST (HIDA とも呼ばれます) などのクリップボード形式ではなくシェル項目配列を使用することをお勧めします。

結果のシェル項目配列は、ソース データ オブジェクトへの参照を保持します。 そのため、そのデータ オブジェクトは、シェル項目配列の有効期間中有効なままである必要があります。 特に、 IDropTarget メソッドに渡されるデータ オブジェクトは、ドロップ操作の完了後に無効になります。

Requirements

Requirement 価値
サポートされる最小クライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
ターゲット プラットフォーム ウィンドウズ
Header shobjidl_core.h (Shobjidl.h を含む)
Library OneCore.Lib
DLL Shell32.dll
API セット ext-ms-win-shell-shell32-l1-2-2 (Windows 10 バージョン 10.0.14393 で導入)