我用这个方法从
IntPtr
:
void* cfstring = __CFStringMakeConstantString(StringToCString(name));
IntPtr result = AMDeviceCopyValue_Int(device, unknown, cfstring);
if (result != IntPtr.Zero)
{
byte length = Marshal.ReadByte(result, 8);
if (length > 0)
{
string s = Marshal.PtrToStringAnsi(new IntPtr(result.ToInt64() + 9L), length);
return s;
}
}
return String.Empty;
它的工作和所有数据,这是作为字符串保存在我的USB设备(返回数据的方法)
AMDeviceCopyValue
).
现在我明白了:
\r\0\0¨\t\0\0\0\0\0\0\0\0\0\0x>\0\0\0\0¨\t\0\0\01xM\0\0\0\0¨\t\0\0\0\0f\a\0值\0\0¨\t\0\0\07f\a\0结果\0¨\t\0\0\0Tf\a\0\0Key\0\0\0\0±¨\t\0\0\0+f\a\0端口\0\0\0¨\t\0\0\0%f\a\0键\0\0\0\0·¨\t\0\0\0:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0¨\t\0“
保存为
long
-那么,我怎样才能得到这个呢
进入之内
长的
string
?