CreateMutex AfxOleInit() AfxOleGetMessageFilter()->SetMessagePendingDelay AfxOleGetMessageFilter()->EnableNotRespondingDialog(FALSE) AfxOleGetMessageFilter()->EnableBusyDialog(FALSE) dlg.DoModal() CAtaSmart::Init WMI on - Start CoInitializeSecurity() CoCreateInstance() ConnectServer() CoSetProxyBlanket() OK:WMI Init OK:Win32_IDEController OK:Win32_SCSIController OK:Win32_USBController DO:SELECT * FROM Win32_DiskDrive OK:SELECT * FROM Win32_DiskDrive while(pEnumCOMDevs ... diskSize:320070320640 deviceId:\\.\PHYSICALDRIVE0 model:Hitachi HDP725032GLAT80 mediaType:Fixed hard disk media interfaceTypeWmi:IDE pnpDeviceId:IDE\DISKHITACHI_HDP725032GLAT80_________________GM3OA4CA\5&27D7EB1E&0&0.0.0 DO:GetDiskInfo pd=0, sp=0, st=0, mt=fixed hard disk media flagTarget && GetDiskInfo GetDiskInfo DoIdentifyDevicePd(0, 0xA0) - 1 SendAtaCommandPd - IDENTIFY_DEVICE (ATA_PASS_THROUGH) AddDisk(0, 0, 0) - 6 GetSmartAttributePd(0) - 1 SendAtaCommandPd - SMART_READ_DATA SendAtaCommandPd - SMART_READ_DATA SendAtaCommandPd - SMART_READ_THRESHOLDS int index = (int)vars.GetCount() - 1; OK:Check Model Name while(pEnumCOMDevs ... diskSize:500105249280 deviceId:\\.\PHYSICALDRIVE1 model:Hitachi HDT725050VLA SCSI Disk Device mediaType:Fixed hard disk media interfaceTypeWmi:SCSI pnpDeviceId:SCSI\DISK&VEN_HITACHI&PROD_HDT725050VLA&REV_V56O\5&238D1BCB&0&000 DO:GetDiskInfo pd=1, sp=2, st=0, mt=fixed hard disk media flagTarget && GetDiskInfo GetDiskInfo DoIdentifyDevicePd(1, 0xA0) - 1 SendAtaCommandPd - IDENTIFY_DEVICE (ATA_PASS_THROUGH) SendAtaCommandPd - IDENTIFY_DEVICE AddDisk(1, 2, 0) - 6 GetSmartAttributePd(1) - 1 SendAtaCommandPd - SMART_READ_DATA