Что это ??значит в реестре значение? - PullRequest
0 голосов
/ 05 ноября 2011

Я пытаюсь выяснить проблему BSOD на моем ПК, и мне нужно понять, что "??" означает в реестре значение (например, \ ?? \ C: \ Windows \ system32 \ Drivers \ vmm.sys )? У меня проблема сузилась до нескольких файлов, но я не могу понять эту запись " ?? ". Любая помощь приветствуется!

1 Ответ

1 голос
/ 05 ноября 2011

Это стиль именования kernel .\?? является (почти) синонимом для \DosDevices, где все объекты Win32 / символические ссылки расположены по умолчанию.

По сути, kernel32.dll - это "подсистема Win32", которая реализует (илискорее, оборачивает) много функциональности Windows.Используемая схема именования - та, которую вы видите повсюду, например C:\Windows.

Но это , а не , как ядро ​​видит систему!Как и в Unix, в которой иерархия объектов имеет корни в /, в Windows также есть иерархия, корни которой - \, к API-интерфейсам которой вы можете обращаться, вызывая функции в ntdll.dll (что обойдёт kernel32.dll).Итак, что вы действительно видите в Win32, это подмножество того, что на самом деле там, а именно, имя C: фактически отображается в \??\C: в ядре.

Загрузка WinObj чтобы понять, что я имею в виду.(См. Ключ GLOBAL??.)

Полезные значения:

Пространство имен объекта ядра и Win32, часть 1
Пространство имен объекта ядра иWin32, часть 2
Пространство имен объекта ядра и Win32, часть 3

...