Моя машина Windows 8. Я хочу прочитать ключ «UpperFilters» от HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36fc9e60-c465-11cf-8056-444553540000}
от моего пользовательского драйвера, чтобы получить наличие драйверов фильтров через USB-устройства.Как читать из реестра из внутреннего кода драйвера?
ответ
Я не написал драйвер, так как дней XP, но предполагая, что вы говорите о драйвере режима ядра. Я считаю, что вы хотите ZwOpenKey
, ZwQueryValueKey
и ZwClose
. Общее руководство here.
here является пример кода для чтения реестра с
здесь образец:
DWORD BufferSize = TOTALBYTES;
DWORD cbData;
DWORD dwRet;
PPERF_DATA_BLOCK PerfData = (PPERF_DATA_BLOCK) malloc(BufferSize);
cbData = BufferSize;
printf("\nRetrieving the data...");
dwRet = RegQueryValueEx(HKEY_PERFORMANCE_DATA,
TEXT("Global"),
NULL,
NULL,
(LPBYTE) PerfData,
&cbData);
while(dwRet == ERROR_MORE_DATA)
{
// Get a buffer that is big enough.
BufferSize += BYTEINCREMENT;
PerfData = (PPERF_DATA_BLOCK) realloc(PerfData, BufferSize);
cbData = BufferSize;
printf(".");
dwRet = RegQueryValueEx(HKEY_PERFORMANCE_DATA,
TEXT("Global"),
NULL,
NULL,
(LPBYTE) PerfData,
&cbData);
}
if(dwRet == ERROR_SUCCESS)
printf("\n\nFinal buffer size is %d\n", BufferSize);
else printf("\nRegQueryValueEx failed (%d)\n", dwRet);
или в простом примере
RegGetValue(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Control\\Class", "{36fc9e60-c465-11cf-8056-444553540000}", RRF_RT_ANY, NULL, (PVOID)&value, &BufferSize);
Ницца. Отличная работа. Ваш код отлично работает в пользовательском режиме. Но это не отвечает на мой вопрос. Фактически в режиме ядра, поскольку я говорю о развитии драйвера, malloc и его родственники не найдены, вместо этого у нас есть ExAllocatePool() и его родственники. Также функции RegXXX() недоступны. Вместо этого у нас есть функции ZwXXX(). –
- 1. Как читать локализованное имя из реестра?
- 2. Как читать шестнадцатеричное значение из строки реестра
- 3. Как читать GUID из реестра эффективно?
- 4. Как читать из внутреннего файла в javascript?
- 5. Включение display_errors из внутреннего кода
- 6. читать известные расширения/типы файлов из реестра
- 7. Как читать удаленные ключи реестра?
- 8. Как читать и писать значение из реестра Windows CE?
- 9. Как читать содержимое локальной записи из ресурса реестра
- 10. как читать значение строки реестра из командного файла
- 11. Как читать из реестра «Имя» с помощью VC++?
- 12. Как читать строку подключения DB из системного реестра?
- 13. Можно ли вызывать Javascript из внутреннего внутреннего HTML-кода?
- 14. Как читать переменную среды из кода Java
- 15. Как читать значение JNDI из кода Java?
- 16. Как читать имя ключа реестра
- 17. как читать xml-файл из внутреннего хранилища с помощью angularjs
- 18. Как читать имена файлов из внутреннего хранилища в Android
- 19. ERROR_MORE_DATA ---- Чтение из реестра
- 20. Как извлечь MAC-адрес интерфейса из кода драйвера
- 21. Как проверить версию драйвера mariaDB ODBC Из кода Java
- 22. Как выйти из сеанса веб-драйвера после завершения кода?
- 23. Как узнать значение из реестра?
- 24. Как получить значение из реестра?
- 25. Inno Setup: читать исходный путь из реестра во время компиляции
- 26. как читать значения реестра для конкретного пользователя
- 27. Повторное использование внутреннего кода кода
- 28. Значение перехвата, считанное из реестра
- 29. Удаление ключа реестра InProgress из реестра Windows
- 30. Как получить доступ к javax.faces.PROJECT_STAGE из представления/внутреннего кода?
Да, это именно то, что мне нужно. –