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


Функция 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, если операция выполнена успешно. В противном случае метод может вернуть одно из следующих значений:

Возвращаемый код Описание
STATUS_INVALID_DEVICE_REQUEST

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

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

Список других возвращаемых значений, которые может возвращать метод 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

См. также

WdfDeviceOpenRegistryKey

WdfFdoInitOpenRegistryKey