Simon Mourier's Avatar
Simon Mourier's blog (1807 answers on StackOverflow) about Microsoft technologies C#, C/C++, .NET, WinRT, WinUI3, AOT, P/Invoke, COM, Interop, DirectX, Direct2D, Windows, ...
  • 🔎︎ Search
  • Categories
  • Archives
  • About Me
  • .net
  • c#
  • com
  • serialization

Marshal [in] reference without ref

Sep 5, 2017 See the question and my original answer on StackOverflow

You're looking for MarshalAs(UnmanagedType.LPStruct):

[DllImport("shell32.dll")]
[return: MarshalAs(UnmanagedType.IUnknown)]
static extern object SHBindToObject(
    IShellFolder psf,
    IntPtr pidl, 
    [MarshalAs(UnmanagedType.IUnknown)] object pbc,  
    [MarshalAs(UnmanagedType.LPStruct)] Guid riid);
  • SmoBlog © 2010-2026 Simon Mourier. All rights reserved.
  • Privacy & Terms