2
我有一个UInt32值,我想传递给使用InterOpServices的外部DLL。如何使用PInvoke编组I8类型?
的原型非托管代码是:
[DllImport("svr.dll")]
public static extern UInt32 CreateTag (
[MarshalAs(UnmanagedType.LPStr)] String Name,
Object Value,
UInt16 InitialQuality,
bool IsWritable);
调用代码:
int myValue = Convert.ToInt32(item); //How to marshal as I8 type
tagNumber = (UInt32)svr_DLL.CreateTag(
DeviceName + "." + el.tagName,
myValue, // <-- this argument
192,
Convert.ToBoolean(el.tagEditable));
我想传递给对象值 “myvalue的” 为I8类型。
这怎么办?