|
IOleLink::GetSourceDisplayName
Retrieves the display name of the link source of the linked object.
HRESULT GetSourceDisplayName(
LPOLESTR *ppszDisplayName
| //Receives display name of link source
| );
|
|
Parameter
ppszDisplayName
[out] Receives a pointer to a zero-terminated string 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 callee use the allocator returned by CoGetMalloc(MEMCTX_TASK, ...). For Win32 applications, the LPOLESTR type indicates a wide character string (two bytes per character); otherwise,
the string has one byte per character.
Return Values
S_OK
The display name was successfully retrieved.
E_FAIL
The link's moniker is NULL.
CreateBindCtx and IMoniker::GetDisplayName errors
Retrieving the display name requires calling these functions; therefore, this
method may return errors generated by these functions.
Comments
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 API 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.
See Also
IOleLink::SetSourceDisplayName, IOleUILinkContainer, IMoniker::GetDisplayName, OleUIEditLinks
Related LinksSoftware for Delphi and C++ Builder developers Software for Visual Studio .NET developers Software for Visual Basic 6 developers Delphi Tips&Tricks
MegaDetailed.NET
TMS Scripter Studio Pro components for Delphi/C++Builder
More Online Helps Win32 Programmer's Reference (win32.hlp) Win32 Multimedia Programmer's Reference (mmedia.hlp) Microsoft Windows Pen API Programmer's Reference (penapi.hlp) Microsoft Windows Sockets 2 Reference (sock2.hlp) Microsoft Windows Telephony API (TAPI) Programmer's Reference (sock2.hlp) Unix Manual Pages
|