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 によって決まります。
nFormat がSHGDFIL_NETRESOURCE場合は、2 つのケースが考えられます。 バッファーが十分に大きい場合は、net リソースの文字列情報 (ネットワーク名、ローカル名、プロバイダー、コメントのフィールド) がバッファーに配置されます。 バッファーが十分な大きさでない場合は、net リソース構造のみがバッファーに配置され、文字列情報ポインターは NULL になります。
cb
型: int
pv でのバッファーのサイズ (バイト単位)。
戻り値
型: HRESULT
成功した場合はS_OKを返し、それ以外の場合はE_INVALIDARG返します。
注釈
この関数は、項目識別子リスト (PIDL) へのポインターに存在する情報のみを抽出します。 PIDL の内容は PIDL を作成したフォルダー オブジェクトに依存するため、要求されたすべての情報が使用可能になる保証はありません。 さらに、返される情報には、PIDL が作成された時点のオブジェクトの状態が反映されます。 オブジェクトの現在の状態は異なる場合があります。 たとえば、 nFormat を SHGDFIL_FINDDATA に設定した場合、関数は WIN32_FIND_DATA構造体の 一部のメンバーにのみ意味のある値を割り当てることができます。 残りのメンバーは 0 に設定されます。 ファイル システム ファイルまたはフォルダーの完全な現在の情報を取得するには、 GetFileTime や FindFirstFile などの標準のファイル システム関数を使用します。
psf、pidl、pv、または 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 で導入) |