Claris
尝试反编译了一下TouchTester3D里边的TouchData3DComp.winmd...
这里是部分代码,还是有点东西的,不知道能不能调用
namespace TouchData3DComp
{
[ComImport]
[Threading(ThreadingModel.Both)]
[Activatable(typeof(__ITouchDataFrameFactory), 1u)]
[Version(1u)]
[MarshalingBehavior(MarshalingType.Agile)]
public sealed class TouchDataFrame : IDisposable, __ITouchDataFramePublicNonVirtuals
{
public extern byte BackKeyState
{
[MethodImpl((MethodImplOptions)4096)]
get;
}
public extern byte StartKeyState
{
[MethodImpl((MethodImplOptions)4096)]
get;
}
public extern byte SearchKeyState
{
[MethodImpl((MethodImplOptions)4096)]
get;
}
public extern uint FrameCounter
{
[MethodImpl((MethodImplOptions)4096)]
get;
}
[MethodImpl((MethodImplOptions)4096)]
[Overload("CreateInstance1")]
public extern TouchDataFrame([In] int rows, [In] int columns, [In] int maxFingers, [In] int maxKeys);
[MethodImpl((MethodImplOptions)4096)]
public extern void SetFinger([In] int id, [In] int x, [In] int y, [In] int z, [In] bool present, [In] bool touch);
void __ITouchDataFramePublicNonVirtuals.SetFinger([In] int id, [In] int x, [In] int y, [In] int z, [In] bool present, [In] bool touch)
{
//ILSpy generated this explicit interface implementation from .override directive in SetFinger
this.SetFinger(id, x, y, z, present, touch);
}
[MethodImpl((MethodImplOptions)4096)]
public extern void GetRawData(out float rawDataArray, [In] int arraySize);
void __ITouchDataFramePublicNonVirtuals.GetRawData(out float rawDataArray, [In] int arraySize)
{
//ILSpy generated this explicit interface implementation from .override directive in GetRawData
this.GetRawData(out rawDataArray, arraySize);
}
[MethodImpl((MethodImplOptions)4096)]
public extern void GetRawDataInt(out ushort rawDataArray, [In] int arraySize);
void __ITouchDataFramePublicNonVirtuals.GetRawDataInt(out ushort rawDataArray, [In] int arraySize)
{
//ILSpy generated this explicit interface implementation from .override directive in GetRawDataInt
this.GetRawDataInt(out rawDataArray, arraySize);
}
[MethodImpl((MethodImplOptions)4096)]
[Overload("GetFinger1")]
public extern void GetFinger([In] uint index, [In] Finger target);
void __ITouchDataFramePublicNonVirtuals.GetFinger([In] uint index, [In] Finger target)
{
//ILSpy generated this explicit interface implementation from .override directive in GetFinger
this.GetFinger(index, target);
}
[MethodImpl((MethodImplOptions)4096)]
public extern ushort GetMaxFingerCount();
ushort __ITouchDataFramePublicNonVirtuals.GetMaxFingerCount()
{
//ILSpy generated this explicit interface implementation from .override directive in GetMaxFingerCount
return this.GetMaxFingerCount();
}
[MethodImpl((MethodImplOptions)4096)]
public extern ushort GetTouchFrameSize();
ushort __ITouchDataFramePublicNonVirtuals.GetTouchFrameSize()
{
//ILSpy generated this explicit interface implementation from .override directive in GetTouchFrameSize
return this.GetTouchFrameSize();
}
[MethodImpl((MethodImplOptions)4096)]
public extern void ReplaceHeatmapWithGrip();
void __ITouchDataFramePublicNonVirtuals.ReplaceHeatmapWithGrip()
{
//ILSpy generated this explicit interface implementation from .override directive in ReplaceHeatmapWithGrip
this.ReplaceHeatmapWithGrip();
}
[MethodImpl((MethodImplOptions)4096)]
public extern void FromByteArray(out byte byteArray, [In] int arraySize);
void __ITouchDataFramePublicNonVirtuals.FromByteArray(out byte byteArray, [In] int arraySize)
{
//ILSpy generated this explicit interface implementation from .override directive in FromByteArray
this.FromByteArray(out byteArray, arraySize);
}
[MethodImpl((MethodImplOptions)4096)]
public extern byte[] ToByteArray();
byte[] __ITouchDataFramePublicNonVirtuals.ToByteArray()
{
//ILSpy generated this explicit interface implementation from .override directive in ToByteArray
return this.ToByteArray();
}
[MethodImpl((MethodImplOptions)4096)]
public new extern string ToString();
string __ITouchDataFramePublicNonVirtuals.ToString()
{
//ILSpy generated this explicit interface implementation from .override directive in ToString
return this.ToString();
}
[MethodImpl((MethodImplOptions)4096)]
public extern void Dispose();
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
}
}