抱歉抱歉,结构体贴错了,应该是这个 [StructLayout(LayoutKind.Sequential)] public struct IKEY_FILEINFO { public uint Id; public uint Flags; public uint FileSize; public byte FileType; public byte ReadAccess; public byte WriteAccess; public byte CryptAccess; [ MarshalAs( UnmanagedType.ByValTStr , SizeConst=12)] public byte[] Reserved1; public byte GrantedAccess; [ MarshalAs( UnmanagedType.ByValTStr , SizeConst=15 )] public byte[] Reserved2; }
方法里也有IKEY_FILEINFO fileInfo语句,可就是老编译错误,哪位大虾救我啊
不能光使用 public byte[] Reserved;来定义unsafe的封送类型
[ MarshalAs( UnmanagedType.ByValTStr , SizeConst=12)] public byte[] Reserved1; 是不是就是C++的 public byter Reserved1[12];
[StructLayout(LayoutKind.Sequential)]
public struct IKEY_FILEINFO
{
public uint Id;
public uint Flags;
public uint FileSize;
public byte FileType;
public byte ReadAccess;
public byte WriteAccess;
public byte CryptAccess;
[ MarshalAs( UnmanagedType.ByValTStr , SizeConst=12)]
public byte[] Reserved1;
public byte GrantedAccess;
[ MarshalAs( UnmanagedType.ByValTStr , SizeConst=15 )]
public byte[] Reserved2;
}
public byte[] Reserved;来定义unsafe的封送类型
public byte[] Reserved1;
是不是就是C++的
public byter Reserved1[12];