title: How do I go about instantiating a COM Object in C# by CLSID?
body: <p>Forgive me if my terminology is off, as this is somewhat uncharted territory for me.</p>
  
  <p>I have a program which needs to create a <code>FolderShortcut</code>. <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/bb776891%28v=vs.85%29.aspx#Shellink_Creating_Shortcut" rel="noreferrer">Microsoft has documentation</a> on how to create it in C++, and I'm trying to translate the directions to C#. The instructions state that the <code>CoCreateInstance</code> function needs to be called with <code>CLSID_FolderShortcut</code> as a parameter, which I infer to mean that it's instantiating a COM object. The CLSID for this object is <code>{0AFACED1-E828-11D1-9187-B532F1E9575D}</code>.</p>
  
  <p>I've tried adding a reference to <em>Shell32.dll</em> from the COM tab, but the <code>FolderShortcut</code> object does not show up in Intellisense (maybe it's not in the typelib?). I also thought about doing a <code>DLLImport</code>, but, of course, that only gives me access to functions, not objects.</p>
  
  <p>What do I need to do to get access to this object in .Net?</p>