I don’t know what the Lotus internal clipboard formats are either


Apparently some people think my psychic powers extend to being able to steal trade secrets by sheer force of concentration.

I've been trying to write an application which allows to drag and drop documents from lotus notes. If I just drag and drop a document from lotus notes to Windows explorer, it creates a .shb file (regular windows document link file). Therefore I think it is possible to simulate this in a custom application as well.

BTW: I found that lotus notes uses following list of clipboard formats for OLE drag drop.
Notes Private Data
Notes Private Link
Link Source Descriptor
Link Source

I also think only the last two formats will be enough for the task I want to accomplish. In fact they are more likely to be windows OLE clipboard formats. However, these clipboard formats are not documented.

I would be grateful if you could send me the definitions of data structures I could use to access data from these CFs.

(Here's another example.)

I'm not sure why somebody who works for Microsoft is expected to be able to produce documentation on a Lotus Notes data structure.

When you drag a COM object into an Explorer window on Windows XP, the resulting scrap file doesn't understand the object you dropped. It just makes a copy of it. When you drag the scrap and drop it back into a document, the scrap merely spits back the data it was cloned from. But it doesn't know what that data means.

If you stick a piece of paper in a photocopier, it will produce a copy of the original document. But there's no point asking the manufacturer of the copier, "I put this document written in French into your copier, and it made a copy. Can you tell me what it says? Obviously, you understand French because you were able to copy the document."

Reading the question again, perhaps the person is asking for documentation on Link Source Descriptor and Link Source. Don't be helpless. I don't know what they do either, but a little searching turns up OBJECTDESCRIPTOR for the link source descriptor. Link source is a little trickier, but from this page it appears to be a serialized moniker. I have never worked with OLE embeddings; I don't know any more than the next guy. Why don't you go read about it and write a blog entry summarizing what you've learned?

Comments (19)
  1. url says:

    The "This page"-link (to http://www.jeffscorner.homeip.net) doesn’t work.

  2. Jules says:

    ‘homeip.net’ is a dynDNS name, so I’d guess the server comes & goes.

  3. Ring Zero says:

    If you were going to do a search for the information anyway, why not just send your results to the question asker, as clueless as he may be, instead of polluting your blog with another bellyaching session? Seems you bothered to find the info just so you could complain about how easy it was to find.

    Also, it’s not unreasonable that you might well know about a non-Microsoft format. I’m sure you know something of GIF files, TCP/IP packets, and maybe even PDF files.

    [If you ask a lazy question, then expect a lazy answer. I do not send responses directly to people. Everybody sees the answer; that’s why it’s a blog and not a consulting service. (And imagine how much you’d gripe if I said the answer was easy to find without first confirming that it was. Either I check and you complain, or I don’t check and you complain.) -Raymond]
  4. Stephen Jones says:

    —-"Also, it’s not unreasonable that you might well know about a non-Microsoft format. I’m sure you know something of GIF files, TCP/IP packets, and maybe even PDF files."—–

    But it is unreasonable to ask him to spend his time explaining it. It will either come out of his free time or the time he could spend explaining things he is an expert in to the rest of us. Unfair to him or unfair to us.

  5. Xepol says:

    Geez, does windows still support scrap files?  The only time I have ever seen them used was in the pre-release demo kiosk that was set up at the local London Drugs (it was a video that showed how Win95 was going to work when it was finally released, and it showed a scrap file being created).

    Never ever found a use for them or even created one by accident – frankly I am shocked to find that Windows still supports them!

    I have to agree that asking a question without doing any research is probably the easiest way to get burnt by the reply.  I have, however, found some people are just clinically impaired when it comes to information discovery and for some reason are utterly unable to find anything on the internet even when they DO try.  It appears to be a fundamental inability to choose appropriate and meaninful search terms.

    Truely weird to witness, but I have seen it happen time and time again, as I actually live with one of these google impaired individuals.

  6. MS says:

    You’d expect there to be documentation for Lotus Notes developers.  IBM should have something on their website, but I’ve never liked the Notes/Domino setup anyways.  Which is another thing: how could the suggester even begin to think that Raymond would even have access to Lotus stuff or any experience with it.  "Hey, this guy sure knows Win32, he must know everything about everything that runs on Win32."  I wonder if he’s asking for a lesson on reverse engineering.

  7. Anonymous says:

    Given the timing, I’d guess he read http://tinyurl.com/3bpo9h, saw people trying to reverse-engineer the MS formats, and decided it was worth asking MS.

    He explained the context, rather than just asking the wrong question (how to reverse engineer LSD), and even gave a precise request.  CF_LINKSOURCE is needed for scrap, so surely his only mistake is to assume that’s all he needs?

  8. John says:

    @Xepol:  I once downloaded a demo of some software; I couldn’t afford it at the time (it was multiple hundreds of dollars, I was in school, and they didn’t have an educational discount).  I needed to open, modify, and save documents, but the demo would not let you save modified documents.  However, I was able to open a document, modify it, and copy it to a scrap file.  Then I could copy the scrap file into a new document, modify it again, and copy it back to the scrap file.  So scrap files aren’t without their uses :)

    Also, Windows must be backward compatible with every public API ever designed.  Think of the poor kids who wouldn’t be able to run Lotus Notes on Windows 2045!

  9. Triangle says:

    Just a wild guess; but maybe that person thinks that considering how much backwards compatibilty work you do for Windows, you may have had to reverse engineer Lotus Notes. Basically a "Hey you know alot, do you know about X?".

  10. Leo Davidson says:

    I’d like to drag & drops Lotus Notes off a cliff.

  11. Anon says:

    Microsoft should charge people more to speak to you. That would make more money for them, more money for you and it would probably stop people asking silly questions.

    I bet people would pay big bucks to have you as a consultant on ambitious but ill conceived projects.

    Maybe they could have a special celebrity rate ;-)

    [I don’t get this “more money for you” part. I don’t get a penny of the customer support fee. -Raymond]
  12. silky says:

    [I don’t get this “more money for you” part. I don’t get a penny of the customer support fee. -Raymond]

    1 is > 0.

    [But 0 is not greater than 0. Or are you saying that Microsoft will also give me a kickback on the customer support fee? -Raymond]
  13. Ian says:

    I love this blog, but I think Raymond is being a bit harsh in this case.

    To me it seems obvious that the questioner thinks “Link Source Descriptor” and “Link Source” are undocumented Microsoft clipboard formats, and this is the reason behind the question.

    The questioner’s mistake is not that he is asking Microsoft for Lotus’ internal data formats, or even that he couldn’t be bothered to look for documentation on the latter two formats – it’s clear he did look and didn’t find anything. His mistake is in not realising that these OLE clipboard formats (if that is what they are) contain opaque data structures that MS do not control.

    Or maybe he isn’t concerned about the opaque part of the format and just wants to manipulate them the same way the Explorer does.

    Either way it is not such an unreasonable question. But I agree he was a bit helpless in not being more skillful at finding the relevant documentation.

    [Actually, the original question believed that just because you can create a scrap from it, Microsoft must know what the format is. The key sentence is “Therefore I think it is possible to simulate this in a custom application as well.” -Raymond]
  14. James Schend says:

    Just FYI, I created entire workflows around "scrap files" in Mac OS Classic (they called them "clipping files"). Of course, Classic let you open them up in Finder and select bits to copy back into apps. You could also drag the icon of the clipping file into an application and it would paste in the contents of the file where you dropped it.

    OS X really botched the clipping file implementation (you can’t select or copy text from them anymore, and you can’t drag the clipping icon into a document anymore), and now I don’t use them at all. Really, OS X botched everything that Finder used to do… le sigh.

    (Windows never really did support them well, except Office. It’s a good idea, but I think, unfortunately, without any really killer implementations left, it’s dead in the water.)

  15. Brian says:

    If you have stock options then more money for them is essentially the same as more money for you.

    [If that’s how you’re counting it, then I make more money off of Xbox Live than I do off of customer fees for questions I personally answer. -Raymond]
  16. Xepol says:

    Thanks Raymond, I think you just justified a way to write of my XBox Live subscription as a development cost!

  17. brian says:

    Support the old new thing, buy an xbox. LOL .  I love your blog and happy you aren’t a superficial sellout.

  18. Dave says:

    From my reading, it looks like the guy is asking “I want to store (opaque) data from application X (in this case, Notes), Explorer is able to do it using clipping files, so how do I do it?”

    Doesn’t seem too unreasonable to ask to me, unless Googling* MSDN finds anything obvious.

    *Yes, Googling, MSDN’s built-in search facilities are utterly useless. At the very least it needs the ability to filter by platform!**

    **This relates to Raymond in that many of his posts are elaborate (although helpful) versions of “RTFM” (including this one). While the content of TFM (i.e. MSDN) is fine, if you can’t find what you’re looking for then it is useless. (Imagine a large multi-volume Encylopedia with articles in no particular order and no index/contents page.)

    [Still sounds unreasonable to me. “I have some opaque data (from some source, not important). How do I store it?” Um, WriteFile? -Raymond]
  19. PatriotB says:

    "Geez, does windows still support scrap files?"

    I think Vista removed support from them.

Comments are closed.

Skip to main content