internal static extern int StgOpenStorageOnILockBytes(
     UnsafeNativeILockBytes plkbyt, 
     UnsafeNativeIStorage pStgPriority, // Most often NULL
     int grfMode, 
     IntPtr snbExclude, // Pointer to SNB struct, not marshalled, must be null. 
     int reserved, // Must be zero
     out UnsafeNativeIStorage ppstgOpen 
     );
 internal static extern int StgOpenStorageOnILockBytes(
     UnsafeNativeILockBytes plkbyt,
     UnsafeNativeIStorage pStgPriority, // Most often NULL
     int grfMode,
     IntPtr snbExclude,                 // Pointer to SNB struct, not marshalled, must be null.
     int reserved,                      // Must be zero
     out UnsafeNativeIStorage ppstgOpen
     );
 internal static extern int StgCreateStorageEx(
     [In, MarshalAs( UnmanagedType.LPWStr )] string pwcsName,     //Pointer to path of compound file to create 
     int grfMode,       // Specifies the access mode for opening the storage object 
     int stgfmt,        // Specifies the storage file format, 5 is DocFile
     int grfAttrs,      // Reserved; must be zero 
     IntPtr pStgOptions,// Pointer to STGOPTIONS, not marshalled, must use NULL.
     IntPtr reserved2,  // Reserved; must be null
     ref Guid riid,     // Specifies the GUID of the interface pointer
     out UnsafeNativeIStorage ppObjectOpen       //Pointer to an interface pointer 
     );
 internal static extern int StgOpenStorageEx(
     [In, MarshalAs(UnmanagedType.LPWStr)] string pwcsName, //Pointer to path of compound file to create
     int grfMode,                                           // Specifies the access mode for opening the storage object
     int stgfmt,                                            // Specifies the storage file format, 5 is DocFile
     int grfAttrs,                                          // Reserved; must be zero
     IntPtr pStgOptions,                                    // Pointer to STGOPTIONS, not marshalled, must use NULL.
     IntPtr reserved2,                                      // Reserved; must be null
     ref Guid riid,                                         // Specifies the GUID of the interface pointer
     out UnsafeNativeIStorage ppObjectOpen                  //Pointer to an interface pointer
     );
 internal static extern int StgCreateDocfileOnILockBytes(
     UnsafeNativeILockBytes plkbyt, 
     int grfMode,
     int reserved, // Must be zero 
     out UnsafeNativeIStorage ppstgOpen 
     );
 internal static extern int StgCreateDocfileOnILockBytes(
     UnsafeNativeILockBytes plkbyt,
     int grfMode,
     int reserved, // Must be zero
     out UnsafeNativeIStorage ppstgOpen
     );