SHCreateShellItem 関数 (shlobj_core.h)

IShellItem オブジェクトを作成します。

メモ この関数の代わりに 、SHCreateItemWithParent または SHCreateItemFromIDList を使用することをお勧めします。
 

構文

SHSTDAPI SHCreateShellItem(
  [in, optional] PCIDLIST_ABSOLUTE pidlParent,
  [in, optional] IShellFolder      *psfParent,
  [in]           PCUITEMID_CHILD   pidl,
  [out]          IShellItem        **ppsi
);

パラメーター

[in, optional] pidlParent

種類: PCIDLIST_ABSOLUTE

親への PIDL。 この値は NULL にすることができます

[in, optional] psfParent

種類: IShellFolder*

IShellFolder へのポインター。 この値は NULL にすることができます

[in] pidl

種類: PCUITEMID_CHILD

要求された項目への PIDL。 親情報が pidlParent または psfParent に含まれていない場合、これは絶対 PIDL である必要があります。

[out] ppsi

種類: IShellItem**

このメソッドが戻るとき、 には、新しい IShellItem へのインターフェイス ポインターが含まれます。

戻り値

種類: HRESULT

この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。

注釈

SHCreateShellItem は 、シェル名前空間項目を表す オブジェクトを作成します。 呼び出し元は 、pidlParent または psfParent で親情報を提供する必要があります。または、呼び出し元は pidl パラメーターに絶対 IDList を指定できます。

この関数には、次の 3 つの有効な呼び出しパターンがあります。

  1. 親フォルダーは、絶対 IDList pidlParent によって識別されます。 pidl パラメーターは、pidlParent によって識別されるフォルダー内の項目を識別する子 IDList を指します。
    IShellItem *psi;
    SHCreateShellItem(pidlParent, NULL, pidlChild, &psi);
    
    
  2. 親フォルダーは psfParent によって識別されます。 pidl パラメーターは、psfParent によって識別されるフォルダー内の項目を識別する子 IDList を指します。
    IShellItem *psi;
    SHCreateShellItem(NULL, psfParent, pidlChild, &psi);
    
    
  3. 項目は、 pidl パラメーターに渡される絶対 IDList によって識別されます。
    IShellItem *psi;
    SHCreateShellItem(NULL, NULL, pidlFull, &psi);
    
    

要件

要件
サポートされている最小のクライアント WINDOWS XP と SP1 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー shlobj_core.h (Shlobj.h を含む)
Library Shell32.lib
[DLL] Shell32.dll
API セット ext-ms-win-shell-shell32-l1-2-2 (Windows 10 バージョン 10.0.14393 で導入)