www.pudn.com > disk_primary.rar > disk.cpp
#include "disk.h" #includevoid main (int argc, char* argv []) { DWORD diskdata[256]; //会被填满; int bSucc; bSucc = ReadPhysicalDriveInNT(0,diskdata); if(bSucc) { char HardDriveSerialNumber[21]; memset(HardDriveSerialNumber,0,21); strcpy(HardDriveSerialNumber,ConvertToString(diskdata, 10, 10)); printf("HardDriveSerialNumber:%s\n",HardDriveSerialNumber); /**/ //其它信息! char HardDriveCtlRevNumber[ 9]; memset(HardDriveCtlRevNumber,0, 9); strcpy(HardDriveCtlRevNumber,ConvertToString(diskdata, 23, 4)); printf("HardDriveCtlRevNumber:%s\n",HardDriveCtlRevNumber); char HardDriveModel_Number[41]; memset(HardDriveModel_Number,0,41); strcpy(HardDriveModel_Number,ConvertToString(diskdata, 27, 20)); printf("HardDriveModel_Number:%s\n",HardDriveModel_Number); printf("Controller Buffer Size on Drive___: %u bytes\n", diskdata [21] * 512); printf("Drive Type________________________: "); if(diskdata [0] & 0x0080) printf ("Removable\n"); else if(diskdata [0] & 0x0040) printf ("Fixed\n"); else printf ("Unknown\n"); printf("Physical Geometry: " "%u Cylinders %u Heads %u Sectors per track\n", diskdata [1], diskdata [3], diskdata [6]); /**/ } // bSucc = ReadIdeDriveAsScsiDriveInNT(0,0,diskdata); }