WinCE 取得平台信息和UUID以及重启

#include <pkfuncs.h>

//重启
void Reboot()
{
 KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL);
}

// 得到UUID:
void IoControlGetUUID(TCHAR *wzUUID)
{
  UINT8 u8ArrUUID[16];   
 DWORD nOutBufSize = sizeof(u8ArrUUID);
 DWORD dwBytesReturned = 0;
 if(KernelIoControl(IOCTL_HAL_GET_UUID, NULL , NULL, &u8ArrUUID, nOutBufSize, &dwBytesReturned))
 {
  TCHAR *wzBuffer = (TCHAR *)malloc(MAX_PATH*sizeof(TCHAR));
  memset(wzBuffer,0,MAX_PATH*sizeof(TCHAR));
  wsprintf( wzBuffer, L"UUID = %02X%02X%02X%02X-%02X%02X%02X%02X-%02X%02X%02X%02X-%02X%02X%02X%02X",
   u8ArrUUID[0], u8ArrUUID[1], u8ArrUUID[2], u8ArrUUID[3], u8ArrUUID[4], u8ArrUUID[5], u8ArrUUID[6],
   u8ArrUUID[7], u8ArrUUID[8], u8ArrUUID[9], u8ArrUUID[10], u8ArrUUID[11], u8ArrUUID[12], u8ArrUUID[13],
   u8ArrUUID[14], u8ArrUUID[15]);
  wcscat(wzUUID, wzBuffer);
  free(wzBuffer);
 }
}

// 得到平台信息
void IoControlGetPlatformInfo(TCHAR *wzPlatformInfo)
{
 PROCESSOR_INFO pi;
 DWORD nOutBufSize = sizeof(pi);
 DWORD dwBytesReturned = 0;
 if(KernelIoControl(IOCTL_PROCESSOR_INFORMATION, NULL , NULL, &pi, nOutBufSize, &dwBytesReturned))
 {
  wcscat(wzPlatformInfo, L"Platform: ");
  wcscat(wzPlatformInfo, pi.szVendor);
  wcscat(wzPlatformInfo, L" ");
  wcscat(wzPlatformInfo, pi.szProcessorName);
  wcscat(wzPlatformInfo, L"\r\n");
 }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值