• 大小: 10KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-02
  • 标签: c++  CPUID  C++  获取cpuid  

资源简介

测试可用的获取硬盘序列号和CPUID的C++代码,包含windows和linux操作系统。 注意:windows vista以上系统需要管理员权限才能获取到硬盘序列号; 做了raid0磁盘阵列的硬盘也不能获取到硬盘序列号,欢迎有相关技术的朋友可以交流下。

资源截图

代码片段和文件信息

#ifdef WIN32
#include 
#include 
#include 
using namespace std;

// IOCTL
#if(_WIN32_WINNT < 0x0400)
#define SMART_GET_VERSION 0x00074080
#define SMART_RCV_DRIVE_DATA 0x0007c088
#endif
#define FILE_DEVICE_SCSI 0x0000001b
#define IOCTL_SCSI_MINIPORT_IDENTIFY ((FILE_DEVICE_SCSI << 16) + 0x0501)
#define IOCTL_SCSI_MINIPORT 0x0004D008

// IDEREGS
#define IDE_ATAPI_IDENTIFY 0xA1
#define IDE_ATA_IDENTIFY 0xEC
#define IDENTIFY_BUFFER_SIZE 512
#define SENDIDLENGTH sizeof(SENDCMDOUTPARAMS) + IDENTIFY_BUFFER_SIZE

typedef struct _GETVERSIONOUTPARAMS
{
BYTE bVersion;
BYTE bRevision;
BYTE bReserved;
BYTE bIDEDeviceMap;
DWORD fCapabilities;
DWORD dwReserved[4];
} GETVERSIONOUTPARAMS *PGETVERSIONOUTPARAMS *LPGETVERSIONOUTPA

评论

共有 条评论