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
  • c#
  • interop

Marshaling LPBYTE

Nov 13, 2017 See the question and my original answer on StackOverflow

It should be

[StructLayout(LayoutKind.Sequential)]
public struct HEXDATA
{
   public ushort usLength;
   public IntPtr lpbData;
};

pack is in general not needed (in general only if pack is specified on the C/C++ size). There is no string here, so no CharSet is needed either.

  • SmoBlog © 2010-2026 Simon Mourier. All rights reserved.
  • Privacy & Terms