SHGetDataFromIDListA 関数 (shlobj_core.h)

相対識別子リストから拡張プロパティ データを取得します。

構文

SHSTDAPI SHGetDataFromIDListA(
  [in]  IShellFolder    *psf,
  [in]  PCUITEMID_CHILD pidl,
        int             nFormat,
  [out] void            *pv,
        int             cb
);

パラメーター

[in] psf

種類: IShellFolder*

IShellFolder インターフェイスのアドレス。 これは、pidl パラメーターによって参照される ITEMIDLIST 構造体の直接の親である必要があります。

[in] pidl

種類: PCUITEMID_CHILD

psf で指定されたフォルダーを基準にしてオブジェクトを識別する ITEMIDLIST 構造体へのポインター。

nFormat

型: int

データが要求される形式。 このパラメーターは、次のいずれかの値に設定する必要があります。

SHGDFIL_FINDDATA

ファイル システム オブジェクトに使用される形式。 pv パラメーターは、WIN32_FIND_DATA構造体のアドレスです。

SHGDFIL_NETRESOURCE

ネットワーク リソースに使用される形式。 pv パラメーターは、NETRESOURCE 構造体のアドレスです。

SHGDFIL_DESCRIPTIONID

バージョン 4.71。 ネットワーク リソースに使用される形式。 pv パラメーターは、SHDESCRIPTIONID 構造体のアドレスです。

[out] pv

型: void*

この関数が正常に返されると、要求されたデータを受信するバッファーへのポインター。 このバッファーの形式は nFormat によって決まります。

nFormatSHGDFIL_NETRESOURCE場合は、2 つのケースが考えられます。 バッファーが十分に大きい場合は、net リソースの文字列情報 (ネットワーク名、ローカル名、プロバイダー、コメントのフィールド) がバッファーに配置されます。 バッファーが十分な大きさでない場合は、net リソース構造のみがバッファーに配置され、文字列情報ポインターは NULL になります。

cb

型: int

pv でのバッファーのサイズ (バイト単位)。

戻り値

型: HRESULT

成功した場合はS_OKを返し、それ以外の場合はE_INVALIDARG返します。

注釈

この関数は、項目識別子リスト (PIDL) へのポインターに存在する情報のみを抽出します。 PIDL の内容は PIDL を作成したフォルダー オブジェクトに依存するため、要求されたすべての情報が使用可能になる保証はありません。 さらに、返される情報には、PIDL が作成された時点のオブジェクトの状態が反映されます。 オブジェクトの現在の状態は異なる場合があります。 たとえば、 nFormatSHGDFIL_FINDDATA に設定した場合、関数は WIN32_FIND_DATA構造体の 一部のメンバーにのみ意味のある値を割り当てることができます。 残りのメンバーは 0 に設定されます。 ファイル システム ファイルまたはフォルダーの完全な現在の情報を取得するには、 GetFileTimeFindFirstFile などの標準のファイル システム関数を使用します。

psfpidlpv、または cb パラメーターが nFormat パラメーターと一致しない場合、または nFormat が上記の特定のSHGDFIL_値の 1 つでない場合は、E_INVALIDARGが返されます。

注意

shlobj_core.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SHGetDataFromIDList を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

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