IOleUILinkContainer::SetLinkSource
Changes the
source of a link.
HRESULT SetLinkSource(
|
DWORD dwLink, |
//Unique 32-bit link identifier |
|
LPTSTR lpszDisplayName, |
//Pointer to source string to parse |
|
ULONG FAR*
lenFileName, |
//Length of the file name portion |
|
ULONG FAR*
pchEaten, |
//Pointer to number of characters successfully
parsed |
|
BOOL fValidateSource |
//Specifies whether moniker should be validated |
|
); |
|
Parameters
dwLink
[in]
Container-defined unique 32-bit identifier for a single link. See IOleUILinkContainer::GetNextLink
.
lpszDisplayName
[in] Pointer
to new source string to be parsed.
lenFileName
Length of the
leading file name portion of the lpszDisplayName string. If the link
source is not stored in a file, then lenFileName should be 0. For OLE
links, call IOleLink::GetSourceDisplayName.
pchEaten
[out] Pointer
to the number of characters successfully parsed in lpszDisplayName.
fValidateSource
[in] TRUE if
the moniker should be validated; for OLE links, MkParseDisplayName should be called. FALSE if
the moniker should not be validated. If possible, the link should accept the
unvalidated source, and mark itself as unavailable.
Return Values
This
method supports the standard return values E_FAIL,
E_INVALIDARG,
and E_OUTOFMEMORY, as well as the following:
S_OK
Successfully
changed the links source.
E_ACCESSDENIED
Insufficient
access permissions.
Remarks
Notes To Callers
Call this
method from the Change Source dialog box, with fValidateSource initially
set to TRUE. Change Source can be called directly or from the Links dialog box.
If this call to SetLinkSource returns an error (e.g., MkParseDisplayName failed because the source
was unavailable), then you should display an Invalid Link Source message, and
the user should be allowed to decide whether or not to fix the source. If the
user chooses to fix the source, then the user should be returned to the Change
Source dialog box with the invalid portion of the input string highlighted. If
the user chooses not to fix the source, then SetLinkSource should be
called a second time with fValidateSource set to FALSE, and the user
should be returned to the Links dialog box with the link marked Unavailable.
See Also