IFileSystemBindData2 interface (shobjidl_core.h)

Extends IFileSystemBindData, which stores file system information for optimizing calls to IShellFolder::ParseDisplayName. This interface adds the ability set or get file ID or junction class identifier (CLSID).


The IFileSystemBindData2 interface inherits from IFileSystemBindData. IFileSystemBindData2 also has these types of members:


The IFileSystemBindData2 interface has these methods.


Gets the unique file identifier for the current file.

Gets the class identifier (CLSID) of the object that implements IShellFolder for the item, if the item is a junction point.

Sets the unique file identifier for the current file.

Sets the class identifier (CLSID) of the object that implements IShellFolder, if the current item is a junction point.


This interface also provides the methods of the IFileSystemBindData interface, from which it inherits.

To pass the information expressed in this interface to a data source IShellFolder::ParseDisplayName, an IBindCtx object is created (use CreateBindCtx) and populated with an object that implements IFileSystemBindData by calling the following:

IBindCtx::RegisterObjectParam(STR_FILE_SYS_BIND_DATA, pfsbd)

Where pfsbd is the object that implements IFileSystemBindData.

Implementers of IShellFolder::ParseDisplayName first make the following call.

IUnknown *punk;
pbc->GetObjectParam(STR_FILE_SYS_BIND_DATA, &punk);

Next the implementer calls one of the Get methods listed above to retrieve the parameters.


Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header shobjidl_core.h (include Shobjidl.h)