www.pudn.com > disk_primary.rar > disk.cpp


#include "disk.h" 
 
#include  
 
void 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); 
 
}