PtrToStructure抛出的参数异常

Dar*_*ar1 5 .net c# marshalling hid

有人可以解释下面的参数例外:结构不能是的价值类.它是由我的程序中的以下代码行引起的:

Marshal.PtrToStructure(m.LParam, dbh);
Run Code Online (Sandbox Code Playgroud)

给定dbh的类型:

[StructLayout(LayoutKind.Sequential)]
public struct Device_Broadcast_Header
{
    public int dbch_size;
    public int dbch_devicetype;
    public int dbch_reserved;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

And*_*are 6

您不能Marshal.PtrToStructure使用值类型(即a struct)调用此特定重载.

如果您调用此重载,则可以返回类型的实例.