Newish to Porgramming, 我有一个项目需要为每个移动设备提供唯一的设备ID,用C#完成。
Windows Mobile 5.0 SDK R2
这是我正在使用的代码片段:
[DllImport("coredll.dll")]
private extern static int GetDeviceUniqueID([In, Out] byte[] appdata,
int cbApplictionData,
int dwDeviceIDVersion,
[In, Out] byte[] deviceIDOuput,
out uint pcbDeviceIDOutput);
public static string GetDeviceID()
{
string appString = "MyApplication";
byte[] appData = new byte[appString.Length];
for (int count = 0; count < appString.Length; count++)
{
appData[count] = (byte)appString[count];
}
int appDataSize = appData.Length;
byte[] DeviceOutput = new byte[20];
uint SizeOut = 20;
GetDeviceUniqueID(appData, appDataSize, 1, DeviceOutput, out SizeOut);
string idString = "";
for (int i = 0; i < DeviceOutput.Length; i++)
{
if (i == 4 || i == 6 || i == 8 || i == 10)
idString = String.Format("{0}-{1}", idString, DeviceOutput[i].ToString("x2"));
else
idString = String.Format("{0}{1}", idString, DeviceOutput[i].ToString("x2"));
}
return idString;
}
但是当我尝试部署并运行时,我得到: 在PInvoke DLL'coredll.dll'中找不到入口点'GetDeviceUniqueID'。
有人可以告诉我我做错了什么或没做过我本来应该做的事吗?