This topic has not yet been rated - Rate this topic

IShellLinkDataList interface

Applies to: desktop apps only

Exposes methods that allow an application to attach extra data blocks to a Shell link. These methods add, copy, or remove data blocks.

Members

The IShellLinkDataList interface inherits from the IUnknown interface. IShellLinkDataList also has these types of members:

Methods

The IShellLinkDataList interface has these methods.

MethodDescription
AddDataBlock

Adds a data block to a link.

CopyDataBlock

Retrieves a copy of a link's data block.

GetFlags

Gets the current option settings.

RemoveDataBlock

Removes a data block from a link.

SetFlags

Sets the current option settings.

 

Remarks

The data blocks are in the form of a structure. The first two members are the same for all data blocks. The first member gives the structure's size. The second member is a signature that identifies the type of data block. The remaining members hold the block's data. There are five types of data block currently supported.

Data block structureDescription
EXP_DARWIN_LINK The link's Windows Installer ID.
EXP_SPECIAL_FOLDER Special folder information.
EXP_SZ_LINK The target name.
NT_CONSOLE_PROPS Console properties.
NT_FE_CONSOLE_PROPS The console's code page.

 

This interface is not implemented by applications.

Use this interface if your application needs to add extra data blocks to a Shell link.

Note  Windows Vista and later. Prior to Windows Vista this interface was declared in Shlobj.h.

Requirements

Minimum supported client

Windows 2000 Professional, Windows XP

Minimum supported server

Windows Server 2003

Header

Shobjidl.h

IDL

Shobjidl.idl

DLL

Shell32.dll (version 4.71 or later)

 

 

Send comments about this topic to Microsoft

Build date: 3/7/2012

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
IShellLinkDataList and E_NOINTERFACE
On Window 2003 and earlier the IShellLinkDataList only appears to be available when the calling thread is initialized with the STA (Single Threaded Apartment model). Attempting a QueryInterface for IShellLinkDataList from another threading model results in E_NOINTERFACE. $0It should be noted that this only seems to apply to IShellLinkDataList, IShellLinkW and IPersistFile can be queried from different threading models (ie. TTA)$0 $0 $0This behavior is different on Windows 2008 R2 and Windows 7 (x64), where it appears possible to obtain a pointer to the IShellLinkDataList interface regardless of the threading model.$0 $0