Как получить верхнюю половину идентификатора тома в Windows?

Эта ссылка Ubuntu говорит: «Опция —new-half-serial меняет только верхнюю часть серийного номера, оставляя нижнюю часть, которая используется Windows, без изменений».

Это говорит о том, что верхняя половина тома Id существует на диске, есть ли способ добиться этого в Windows? (GetVolumeInformation возвращает только нижнюю половину). Ubuntu показывает все 64-битное значение с blkid,

Заметки:

«Это не том UUID тома, используемый Windows для поиска файлов, которые были перемещены на другой том».

Это относится к UUID тома, а не к тому идентификатору тома, о котором я здесь говорю. UUID тома имеет вид: \\.\Volume{7E899CB7-0079-11E1-BC4E-002219F6E9D9}

0

Решение

Я думаю, что вы хотите взглянуть на

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;

Дайте мне знать, если это поможет …

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]