C ++获取硬盘序列号 #include #include #include #pragma argsused #define DFP_GET_VERSION 0x00074080 #define DFP_SEND_DRIVE_COMMAND 0x0007c084 #define DFP_RECEIVE_DRIVE_DATA 0x0007c088 //#pragma pack(1) typedef struct _GETVERSIONOUTPARAMS { BYTE bVersion; //Binary driver version
BYTE bRevision; //Binary driver revision
BYTE bReserved; //Not used
BYTE bIDEDeviceMap; //Bit map of IDE devices
DWORD fCapabilities; //Bit mask of driver capabilities
DWORD dwReserved[4]; //For future use
} GETVERSIONOUTPARAMS, *PGETVERSIONOUTPARAMS, *LPGETVERSIONOUTPARAMS; typedef struct _IDEREGS { BYTE bFeaturesReg; //Used for specifying SMART "commands"
BYTE bSectorCountReg; //IDE sector count register BYTE bSectorNumberReg; //IDE sector number register BYTE bCylLowReg; // IDE low order cylinder value BYTE bCylHig