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 --ControllerMap-- + Virtual CloneDrive [SCSI] - ELBY CLONEDRIVE SCSI CdRom Device + Intel(R) Desktop/Workstation/Server Express Chipset SATA RAID Controller [SCSI] - Volume0 - Volume1 - Optiarc DVD RW AD-7200S OK:Win32_USBController WakeUp(0) WakeUp(1) DoIdentifyDeviceCsmi GetSmartAttributeCsmi FillSmartData GetSmartAttributeCsmi FillSmartData GetSmartThresholdCsmi FillSmartThreshold DoIdentifyDeviceCsmi GetSmartAttributeCsmi FillSmartData GetSmartAttributeCsmi FillSmartData GetSmartThresholdCsmi FillSmartThreshold DoIdentifyDeviceCsmi GetSmartAttributeCsmi FillSmartData GetSmartAttributeCsmi FillSmartData GetSmartThresholdCsmi FillSmartThreshold DoIdentifyDeviceCsmi GetSmartAttributeCsmi FillSmartData GetSmartAttributeCsmi FillSmartData GetSmartThresholdCsmi FillSmartThreshold DoIdentifyDeviceCsmi DoIdentifyDeviceCsmi DO:SELECT * FROM Win32_DiskDrive OK1:SELECT * FROM Win32_DiskDrive while(pEnumCOMDevs ... diskSize:480101368320 deviceId:\\.\PHYSICALDRIVE0 model:Volume0 mediaType:Fixed hard disk media interfaceTypeWmi:SCSI pnpDeviceId:IDE\DISKVOLUME01.0.00__\4&D08FA1E&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) SendAtaCommandPd - IDENTIFY_DEVICE AddDisk(0, 0, 0) - 6 while(pEnumCOMDevs ... diskSize:2000396321280 deviceId:\\.\PHYSICALDRIVE1 model:Volume1 mediaType:Fixed hard disk media interfaceTypeWmi:SCSI pnpDeviceId:IDE\DISKVOLUME11.0.00__\4&D08FA1E&0&0.1.0 DO:GetDiskInfo pd=1, sp=0, st=1, mt=fixed hard disk media flagTarget && GetDiskInfo GetDiskInfo DoIdentifyDevicePd(1, 0xA0) - 1 SendAtaCommandPd - IDENTIFY_DEVICE (ATA_PASS_THROUGH) SendAtaCommandPd - IDENTIFY_DEVICE AddDisk(1, 0, 1) - 6 uReturned != 1 OK2:SELECT * FROM Win32_DiskDrive DO:GetDiskInfo GetDiskInfo DoIdentifyDevicePd(0, 0xA0) - 1 SendAtaCommandPd - IDENTIFY_DEVICE (ATA_PASS_THROUGH) SendAtaCommandPd - IDENTIFY_DEVICE AddDisk(0, -1, -1) - 6 DO:GetDiskInfo GetDiskInfo DoIdentifyDevicePd(1, 0xA0) - 1 SendAtaCommandPd - IDENTIFY_DEVICE (ATA_PASS_THROUGH) SendAtaCommandPd - IDENTIFY_DEVICE AddDisk(1, -1, -1) - 6 OK:GetDiskInfo - PhysicalDrive OK:qsort Drive Letter Mapping - Start \\.\A: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\B: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\C: volumeDiskExtents.NumberOfDiskExtents = 1 n = 0, pDiskExtent->DiskNumber = 0 \\.\D: volumeDiskExtents.NumberOfDiskExtents = 1 n = 0, pDiskExtent->DiskNumber = 0 \\.\E: volumeDiskExtents.NumberOfDiskExtents = 1 n = 0, pDiskExtent->DiskNumber = 1 \\.\F: Drive Letter Mapping - bResult == FALSE \\.\G: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\H: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\I: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\J: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\K: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\L: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\M: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\N: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\O: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\P: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\Q: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\R: volumeDiskExtents.NumberOfDiskExtents = 1 n = 0, pDiskExtent->DiskNumber = -1 \\.\S: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\T: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\U: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\V: Drive Letter Mapping - bResult == FALSE \\.\W: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\X: Drive Letter Mapping - INVALID_HANDLE_VALUE \\.\Y: Drive Letter Mapping - bResult == FALSE \\.\Z: Drive Letter Mapping - INVALID_HANDLE_VALUE Drive Letter Mapping - End CAtaSmart::Init - Complete GetSmartAttributeCsmi FillSmartData GetSmartAttributeCsmi FillSmartData GetSmartAttributeCsmi FillSmartData GetSmartAttributeCsmi FillSmartData GetSmartAttributeCsmi FillSmartData GetSmartAttributeCsmi FillSmartData GetSmartAttributeCsmi FillSmartData GetSmartAttributeCsmi FillSmartData