Что это за GUID?

После подключения сетевого диска, когда мы открываем проводник Windows или диалоговое окно «Файл», процесс находит этот ключ в реестре, чтобы показать его имя тома.

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{A45BA3B2-F3 96-4F67-8375-ECC2CA1EBBFC}\_LabelFromReg

Я не знаю, что такое GUID.

  • Что это?
  • Кто (когда) создает ключ?
  • Как приложение (в данном случае Windows Explorer) узнает ключ?

Я разрабатываю сетевой перенаправитель, такой как SMB.
Я должен записать имя тома в ключ.
После подключения моего сетевого тома также создается раздел реестра. (Конечно, GUID отличается от SMB. Он даже меняется при каждом создании и удалении каждого соединения)
Но я не знаю, как я могу получить GUID моего тома (?) (Даже кто создает ключ)

Я попытался найти DefineDosDeviceW (подозревается) в исходниках ReactOS. Но он еще не реализован. Т.Т.

-Конечно, я также записываю имя тома в \MountPoints2\##UNCNAME\_LabelFromReg
Но это не работает для приложений WOW64 в 64-битной Windows.


person Benjamin    schedule 14.12.2010    source источник


Ответы (1)


Это не конкретный GUID; это идентификатор тома. Проводник Windows создает эти ключи при монтировании томов. Вы можете просмотреть список смонтированных в данный момент идентификаторов томов, запустив mountvol без параметров. Программно (на уровне Win32) вы можете получить его с помощью FindFirstVolume и друзья. Я ничего не знаю о перенаправителе сети; тем не менее, кажется неправильным копаться в ключе реестра Explorer вручную. Это частная территория Исследователя. Что вы пытаетесь достичь? Возможно, для этого есть документированный API.

person atzz    schedule 14.12.2010
comment
Мне нужно написать ключ, чтобы представить имя моего тома в приложениях. Только в диалоговом окне Wow64 Apps имя нашего тома не отображается должным образом. Спасибо, попробую FindFirstVolume и его друзей :) - person Benjamin; 14.12.2010
comment
Я пытался, но это не так. Другое дело с идентификатором тома. - person Benjamin; 14.12.2010
comment
@Benjamin - может быть, для win64 по-другому? Потому что для меня имя ключа соответствует идентификатору тома ... К сожалению, у меня нет под рукой win64, чтобы проверить. - person atzz; 14.12.2010
comment
Как вы узнали, что это идентификатор тома, а не «специфический» GUID (в отличие от неспецифического, что бы это ни было)? - person Unknow0059; 29.11.2020
comment
@ Unknow0059 Unknow0059 Тьфу, шесть лет пролетели, я даже не помню, чтобы писал этот ответ ... Думаю, не конкретный GUID, я имел в виду, что это значение GUID не является значением со специальным значением, предопределенным Microsoft; просто общее значение, взятое из идентификатора тома. - person atzz; 30.11.2020
comment
@ Unknow0059 Откуда я знаю; Извините, я не могу указать источник сейчас (6 лет ...). Однако, проверяя прямо сейчас на AMD64 Windows10, я все еще вижу, что эти значения соответствуют идентификаторам томов. И я бы все же не рекомендовал трогать недокументированные внутренности Explorer, если вы делаете что-то большее, чем одноразовый игрушечный проект. Тем не менее, похоже, есть полуподдерживаемый способ сделать это через WMI, который может работать или не работать в зависимости от характера объема. docs.microsoft.com /en-us/previous-versions/windows/desktop/ - person atzz; 01.12.2020