Prev Next

SHGetDataFromIDList info

The ShGetDataFromIDList function retrieves extended property data from a relative IDList.

HRESULT ShGetDataFromIDList(

    LPSHELLFOLDER psf,

//Points to the parent folder

    LPCITEMIDLIST pidl,

//Points to an item identifier struct

    int nFormat,

//Specifies a format

    PVOID pv,

//Points to a buffer for a structure

    int cb 

//Size of the buffer passed in

   );

Parameters

psf
Pointer to the parent folder.
pidl
Pointer to an ITEMIDLIST structure that identifies the subfolder relative to its parent folder.
nFormat
Specifies one of the following formats:

SHGDFIL_FINDDATA

Format used for file system objects.

SHGDFIL_NETRESOURCE

Format used for network resources.

pv
Pointer to a buffer for either a WIN32_FIND_DATA or NET_RESOURCE structure, depending on the value of the nFormat parameter. For more information, see the Remarks section below.
cb
Size of the buffer passed in. This value should be either sizeof(WIN32_FIND_DATA) for SHGDFIL_FINDDATA or, sizeof(NETRESOURCE) + 1024 to retrieve a SHGDFIL_NETRESOURCE structure.

Return Values

The return value is NOERROR if the format is supported and the function succeeds. If the psf, pidl, pv, or cb parameters do not match the nFormat parameter, or if nFormat is not one of the specific SHGDFIL_ values shown, E_INVALIDARG is also returned.

Remarks

If nFormat is SHGDFIL_NETRESURCE, there are two possible cases. If the buffer is large enough, the net resource’s string information (fields for the network name, local name, provider, and comments) will be placed into the buffer. If the buffer is not large enough, only the net resource structure will be placed into the buffer and the string information pointers will be NULL.

See: