質問内容
wmic diskdrive get SerialNumber
コマンドによる結果と
C++にて「GetVolumeInformation」を実行した結果が異なります。
GetVolumeInformationで同じ値を取得できないでしょうか?
前提
wmicにてシリアルを取得する方法とは別に
シリアルを取得したいと考えています。
GetVolumeInformation以外でも可能であれば、
別の方法をご享受したいです。
該当のソースコード
C++
1#include <iostream> 2#include <stdio.h> 3#include <string.h> 4#include <windows.h> 5 6int main() 7{ 8 TCHAR szRoot[16] = TEXT("E:\\"); 9 TCHAR szVolume[256]; 10 TCHAR szSystem[256]; 11 DWORD dwSerial; 12 DWORD dwLength; 13 DWORD dwFlags; 14 15 // ボリューム情報の取得 16 GetVolumeInformation(szRoot, 17 szVolume, sizeof(szVolume), 18 &dwSerial, &dwLength, &dwFlags, 19 szSystem, sizeof(szSystem)); 20 21 printf("シリアル:%x\n", dwSerial); 22 printf("シリアル:%08x\n", dwSerial); 23 printf("シリアル:%d\n", dwSerial); 24}
補足情報(FW/ツールのバージョンなど)
VS2022 C++
Windows 10
CrystalDiskinfo 9.2.3で確認した所
HDDはWMICと同じ結果になりましたが、NVMEのSSDは
どれとも一致しないので少し?です。
またGetVolumeInformationで取得する際、D:とE:は同じドライブの分割ですが
異なるシリアルナンバーを返します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/03/25 04:47
2024/03/25 05:02