総合掲示板(アップロードファイル合計最大1MB)/添付ファイルはプレビュー時に消えるため、再設定をお願いします。
新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム
621 / 988     ←次へ | 前へ→

CrystalDiskInfo 8.7.0 のソースコードについて(バグ?)
 G神  - 20/8/16(日) 18:39 -
CrystalDiskInfo 8.7.0 のソースコードについてお尋ねします。

以下の2つの処理は、いずれも、同じロジック判定を行っているように思えますが、
両者のコードは、丸括弧の括り範囲が微妙に違うため、判定結果は異なります。

AND/OR条件から判断して、CDiskInfoDlg::GetDiskStatusReason側のコードが
間違っているように思います。

いかがでしょうか? 

// AtaSmart.cpp ... CAtaSmart::CheckDiskStatus関数内(9368行〜9377行)
--------------------------------------------------------------------
else
if((vars[i].Attribute[j].Id == 0xE8 && (vars[i].DiskVendorId == SSD_VENDOR_PLEXTOR || vars[i].DiskVendorId == SSD_VENDOR_SANDISK))
|| (vars[i].Attribute[j].Id == 0xBB && vars[i].DiskVendorId == SSD_VENDOR_MTRON)
|| (vars[i].Attribute[j].Id == 0xB1 && vars[i].DiskVendorId == SSD_VENDOR_SAMSUNG)
|| (vars[i].Attribute[j].Id == 0xD1 && vars[i].DiskVendorId == SSD_VENDOR_INDILINX)
|| (vars[i].Attribute[j].Id == 0xE7 && vars[i].DiskVendorId == SSD_VENDOR_SANDFORCE)
|| (vars[i].Attribute[j].Id == 0xAA && vars[i].DiskVendorId == SSD_VENDOR_JMICRON && ! vars[i].IsRawValues8)
|| (vars[i].Attribute[j].Id == 0xCA && vars[i].DiskVendorId == SSD_VENDOR_MICRON)
|| (vars[i].Attribute[j].Id == 0xE9 && (vars[i].DiskVendorId == SSD_VENDOR_INTEL || vars[i].DiskVendorId == SSD_VENDOR_OCZ || vars[i].DiskVendorId == SSD_VENDOR_OCZ_VECTOR))
)

// DiskInfoDlgInit.cpp ... CDiskInfoDlg::GetDiskStatusReason関数内(494行〜504行)
--------------------------------------------------------------------------------
else
if((m_Ata.vars[index].Attribute[j].Id == 0xE8 && (m_Ata.vars[index].DiskVendorId == m_Ata.SSD_VENDOR_PLEXTOR || m_Ata.vars[index].DiskVendorId == m_Ata.SSD_VENDOR_SANDISK))
|| (m_Ata.vars[index].Attribute[j].Id == 0xBB && m_Ata.vars[index].DiskVendorId == m_Ata.SSD_VENDOR_MTRON)
|| (m_Ata.vars[index].Attribute[j].Id == 0xB1 && m_Ata.vars[index].DiskVendorId == m_Ata.SSD_VENDOR_SAMSUNG)
|| (m_Ata.vars[index].Attribute[j].Id == 0xD1 && m_Ata.vars[index].DiskVendorId == m_Ata.SSD_VENDOR_INDILINX)
|| (m_Ata.vars[index].Attribute[j].Id == 0xE7 && m_Ata.vars[index].DiskVendorId == m_Ata.SSD_VENDOR_SANDFORCE)
|| (m_Ata.vars[index].Attribute[j].Id == 0xAA && m_Ata.vars[index].DiskVendorId == m_Ata.SSD_VENDOR_JMICRON && ! m_Ata.vars[index].IsRawValues8
|| (m_Ata.vars[index].Attribute[j].Id == 0xCA && m_Ata.vars[index].DiskVendorId == m_Ata.SSD_VENDOR_MICRON)
|| (m_Ata.vars[index].Attribute[j].Id == 0xE9 && (m_Ata.vars[index].DiskVendorId == m_Ata.SSD_VENDOR_INTEL || m_Ata.vars[index].DiskVendorId == m_Ata.SSD_VENDOR_OCZ || m_Ata.vars[index].DiskVendorId == m_Ata.SSD_VENDOR_OCZ_VECTOR))
)
)


引用なし

パスワード


・ツリー全体表示

CrystalDiskInfo 8.7.0 のソースコードについて(バグ?) G神 20/8/16(日) 18:39
Re:CrystalDiskInfo 8.7.0 のソースコードについて(... ひよひよ 20/8/16(日) 18:53
Re:CrystalDiskInfo 8.7.0 のソースコードについて(... G神 20/8/16(日) 19:01
Re:CrystalDiskInfo 8.7.0 のソースコードについて(... G神 20/8/16(日) 19:10
Re:CrystalDiskInfo 8.7.0 のソースコードについて(... ひよひよ 20/8/16(日) 21:43

621 / 988     ←次へ | 前へ→
新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム
 93749
ページ:  ┃  記事番号:  

C-BOARD Moyuku v1.03b5