Поделиться через


Функция 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

Указатель на расположение, которое получает дескриптор нового объекта раздела реестра. The

Возвращаемое значение

WdfDeviceOpenDevicemapKey возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае метод может вернуть одно из следующих значений:

Код возврата Описание
STATUS_INVALID_DEVICE_REQUEST

WdfDeviceOpenDevicemapKey не был вызван в IRQL = PASSIVE_LEVEL.

STATUS_INVALID_PARAMETER
Указан недопустимый параметр. Для UMDF это возвращаемое значение может указывать на недостаточные права доступа.
STATUS_INSUFFICIENT_RESOURCES
Не удалось выделить объект раздела реестра.
STATUS_OBJECT_NAME_NOT_FOUND
Указанный раздел реестра не существует.
 

Список других возвращаемых значений, которые может возвращать метод WdfDeviceOpenDevicemapKey , см. в разделе Ошибки создания объектов платформы.

Метод может возвращать другие значения NTSTATUS.

Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Комментарии

Реестр содержит HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP раздел, который используют некоторые драйверы для старых технологий, таких как последовательные и параллельные порты. Если драйвер поддерживает технологию, которая использует ключ DEVICEMAP , драйвер может получить доступ к подразделам и значениям в ключе, вызвав WdfDeviceOpenDevicemapKey.

WdfDeviceOpenDevicemapKey возвращает переменный ключ. Это означает, что информация не сохраняется при выгрузке соответствующего куста реестра.

После завершения работы драйвера с разделом реестра, который он открыл с помощью WdfDeviceOpenDevicemapKey, драйвер должен вызвать WdfRegistryClose.

Дополнительные сведения о реестре, аппаратных и программных разделах, а также объектах реестра см. в статье Использование реестра в Framework-Based drivers.

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1.15
Минимальная версия UMDF 2.15
Верхняя часть wdfdevice.h (включая Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL

См. также раздел

WdfDeviceOpenRegistryKey

WdfFdoInitOpenRegistryKey