IOleLink::GetSourceDisplayName

Retrieves the display name of the link source of the linked object.

HRESULT GetSourceDisplayName(
  LPOLESTR *ppszDisplayName  //Address of output variable that 
                             // receives a pointer to the display name 
                             // string for the link source
);
 

Parameter

ppszDisplayName
[out] Address of LPOLESTR pointer variable that receives a pointer to the zero-terminated wide character string (two bytes per character) containing the display name of the link source. If an error occurs, *ppszDisplayName is set to NULL; otherwise, the implementation must use IMalloc::Alloc to allocate the string returned in *ppszDisplayName, and the caller is responsible for calling IMalloc::Free to free it. Both caller and called use the allocator returned by CoGetMalloc.

Return Values

This method supports the standard return value E_FAIL, as well as the following:

S_OK
The display name was successfully retrieved.
CreateBindCtx and IMoniker::GetDisplayName errors
Retrieving the display name requires calling these functions; therefore, this method may return errors generated by these functions.

Remarks

Notes to Callers

Your container application can call IOleLink::GetSourceDisplayName in order to display the current source of a link.

The current source of a link is displayed in the Links dialog box. If you use the OleUIEditLinks function to display the Links dialog box, you must implement the IOleUILinkContainer interface. The dialog box calls your implementations of IOleUILinkContainer::GetLinkSource to get the string it should display. Your implementation of that method can call IOleLink::GetSourceDisplayName.

Notes on Provided Implementation

The linked object's implementation of IOleLink::GetSourceDisplayName calls IOleLink::GetSourceMoniker to get the link source moniker, and then calls IMoniker::GetDisplayName to get that moniker's display name. This operation is potentially expensive because it might require binding the moniker. All of the system-supplied monikers can return a display name without binding, but there is no guarantee that other moniker implementations can. Instead of making repeated calls to IOleLink::GetSourceDisplayName, your container application can cache the name and update it whenever the link source is bound.

QuickInfo

  Windows NT: Use version 3.1 or later.
  Windows: Use Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in oleidl.h.

See Also

IOleLink::SetSourceDisplayName, IOleUILinkContainer, IMoniker::GetDisplayName, OleUIEditLinks