Функция WdfDeviceOpenDevicemapKey (wdfdevice.h)
[Применимо к KMDF и UMDF]
Метод WdfDeviceOpenDevicemapKey открывает раздел DEVICEMAP и создает объект реестра реестра платформы, представляющий раздел реестра.
Синтаксис
NTSTATUS WdfDeviceOpenDevicemapKey(
[in] WDFDEVICE Device,
[in] PCUNICODE_STRING KeyName,
[in] ACCESS_MASK DesiredAccess,
[in, optional] PWDF_OBJECT_ATTRIBUTES KeyAttributes,
[out] WDFKEY *Key
);
Параметры
[in] Device
Дескриптор объекта устройства платформы.
[in] KeyName
Указатель на структуру UNICODE_STRING, указывающую имя подраздела, открываемого в DEVICEMAP.
[in] DesiredAccess
Значение ACCESS_MASKтипа, указывающее права доступа, которые драйвер запрашивает для указанного раздела реестра.
Драйвер KMDF обычно запрашивает KEY_READ, KEY_WRITEили KEY_READ | KEY_WRITE.
Драйвер UMDF обычно запрашивает KEY_READ или KEY_SET_VALUE.
[in, optional] KeyAttributes
Указатель на WDF_OBJECT_ATTRIBUTES структуру, содержащую атрибуты, предоставленные драйвером для нового объекта реестра. Этот параметр является необязательным и может быть WDF_NO_OBJECT_ATTRIBUTES.
[out] Key
Указатель на расположение, которое получает дескриптор к новому объекту раздела реестра. Тем
Возвращаемое значение
WdfDeviceOpenDevicemapKey возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае метод может вернуть одно из следующих значений:
Возвращаемый код | Описание |
---|---|
|
WdfDeviceOpenDevicemapKey не был вызван в IRQL = PASSIVE_LEVEL. |
|
Указан недопустимый параметр. Для UMDF это возвращаемое значение может указывать на недостаточные права доступа. |
|
Не удалось выделить объект раздела реестра. |
|
Указанный раздел реестра не существует. |
Список других возвращаемых значений, которые может возвращать метод WdfDeviceOpenDevicemapKey, см. в ошибках создания объектов Framework.
Метод может возвращать другие значения NTSTATUS.
Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Замечания
Реестр содержит HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP раздел, который используют некоторые драйверы для старых технологий, например последовательные и параллельные порты. Если драйвер поддерживает технологию, использующую ключ DEVICEMAP, драйвер может получить доступ к вложенным ключам и значениям под ключом, вызвав WdfDeviceOpenDevicemapKey.
WdfDeviceOpenDevicemapKey возвращает переменную Key. Это означает, что сведения не сохраняются при выгрузке соответствующего куста реестра.
Когда драйвер завершит работу с разделом реестра, который он открыл с помощью WdfDeviceOpenDevicemapKey, драйвер должен вызвать WdfRegistryClose.
Дополнительные сведения о реестрах, аппаратных и программных разделах и объектах реестра см. в разделе Использование реестра в Framework-Based драйверах.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
минимальная версия KMDF | 1.15 |
минимальная версия UMDF | 2.15 |
заголовка | wdfdevice.h (include Wdf.h) |
библиотеки | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |