подробности о функции RegQueryInfoKey? - PullRequest
1 голос
/ 26 декабря 2011

Теперь я полностью сбит с толку функцией RegQueryInfoKey. кто-нибудь может мне помочь?

В этой функции есть параметр с именем «lpClass», в MSDN он объявлен как «указатель на буфер, который получает пользовательский класс ключа». Также он может быть нулевым, но я действительно хочу знать, как использовать этот параметр.

1.Как я могу определить «определяемый пользователем класс» для этой функции и когда мне следует это сделать?

2.Как я могу получить значения этих параметров - «lpcMaxSubKeyLen», «lpcMaxValueNameLen» и «lpcMaxValueLen», просто взглянув на указанный ключ, используя regedit.exe вместо вызова функции?

Любые ответы от вас будут оценены. спасибо

Ответы [ 2 ]

3 голосов
/ 26 декабря 2011
  1. Класс представляет собой строку с , не имеющим реального значения , и устанавливать его бессмысленно (он не используется никаким другим API). У него установлено менее 1% ключей, и когда оно установлено, обычно это просто строка типа «Shell» или «Setup» или даже строка «class».

  2. Эта информация не очень полезна в regedit, она используется приложениями, если они хотят выделить память перед перечислением дочерних записей (но здесь есть проблема с многопоточностью, поэтому вы всегда должны быть готовы выделить больший буфер если требуется)

1 голос
/ 05 апреля 2012

Есть одно серьезное исключение: параметр Class используется с ключами

HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Data
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\GBG
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\JD
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Skew1

для формирования Syskey (значение, используемое для кодирования NT-хэша пользовательских паролей)

Ссылка: http://moyix.blogspot.jp/2008/02/syskey-and-sam.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...