Функция 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, если операция выполнена успешно. В противном случае метод может вернуть одно из следующих значений:
Код возврата | Описание |
---|---|
|
WdfDeviceOpenDevicemapKey не был вызван в IRQL = PASSIVE_LEVEL. |
|
Указан недопустимый параметр. Для UMDF это возвращаемое значение может указывать на недостаточные права доступа. |
|
Не удалось выделить объект раздела реестра. |
|
Указанный раздел реестра не существует. |
Список других возвращаемых значений, которые может возвращать метод 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 |