Эта ссылка Ubuntu говорит: «Опция —new-half-serial меняет только верхнюю часть серийного номера, оставляя нижнюю часть, которая используется Windows, без изменений».
Это говорит о том, что верхняя половина тома Id существует на диске, есть ли способ добиться этого в Windows? (GetVolumeInformation возвращает только нижнюю половину). Ubuntu показывает все 64-битное значение с blkid
,
Заметки:
«Это не том UUID тома, используемый Windows для поиска файлов, которые были перемещены на другой том».
Это относится к UUID тома, а не к тому идентификатору тома, о котором я здесь говорю. UUID тома имеет вид: \\.\Volume{7E899CB7-0079-11E1-BC4E-002219F6E9D9}
Я думаю, что вы хотите взглянуть на
NTFS_VOLUME_DATA_BUFFER
структура и команда DeviceIO:
FSCTL_GET_NTFS_VOLUME_DATA
И функция DeviceIoControl()
, Я думаю, что вы найдете там то, что ищете. Первый член NFTS_VOLUME_DATA_BUFFER определен как LARGE_INTEGER, который является просто typedef для:
typedef union _LARGE_INTEGER {
struct {
DWORD LowPart;
LONG HighPart;
};
struct {
DWORD LowPart;
LONG HighPart;
} u;
LONGLONG QuadPart;
} LARGE_INTEGER;
Дайте мне знать, если это поможет …
Других решений пока нет …