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


Функция WdfDriverOpenParametersRegistryKey (wdfdriver.h)

[Применимо к KMDF и UMDF]

Метод WdfDriverOpenParametersRegistryKey открывает раздел реестра Parameters драйвера и извлекает дескриптор для объекта раздела реестра платформы, представляющего этот раздел.

Синтаксис

NTSTATUS WdfDriverOpenParametersRegistryKey(
  [in]           WDFDRIVER              Driver,
  [in]           ACCESS_MASK            DesiredAccess,
  [in, optional] PWDF_OBJECT_ATTRIBUTES KeyAttributes,
  [out]          WDFKEY                 *Key
);

Параметры

[in] Driver

Дескриптор объекта драйвера платформы драйвера, который драйвер получил при предыдущем вызове WdfDriverCreate или WdfGetDriver.

[in] DesiredAccess

ACCESS_MASK типизированное значение, указывающее маску доступа для раздела реестра Parameters.

Драйвер KMDF обычно запрашивает KEY_READ, KEY_WRITE или KEY_READ | KEY_WRITE.

Если вы пишете драйвер UMDF, используйте KEY_READ или KEY_READ | KEY_SET_VALUE.

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

[in, optional] KeyAttributes

Указатель на структуру, выделенную вызывающим объектом WDF_OBJECT_ATTRIBUTES , которая задает атрибуты объекта для объекта реестра платформы. Этот параметр является необязательным и может быть WDF_NO_OBJECT_ATTRIBUTES.

[out] Key

Указатель на расположение, которое получает дескриптор объекта ключа реестра платформы.

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

WdfDriverOpenParametersRegistryKey возвращает STATUS_SUCCESS, если операция выполнена успешно. К дополнительным возвращаемым значениям относятся:

Код возврата Описание
STATUS_ACCESS_DENIED
Драйвер UMDF указал один из следующих флагов в параметре DesiredAccess :
  • GENERIC_WRITE
  • KEY_CREATE_SUBKEY
  • WRITE_DAC

Так как приведенные выше значения недопустимы для драйверов UMDF, универсальные флаги, такие как GENERIC_ALL и STANDARD_RIGHTS_ALL также приводят к сбою WdfDriverOpenParametersRegistryKey с этим возвращаемым значением.

 

Дополнительные сведения о возвращаемых значениях см. в разделе Ошибки создания объектов платформы.

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

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

Комментарии

Ключ параметров драйвера находится в дереве служб реестра. Если ключ Parameters драйвера не существует, его создает метод WdfDriverOpenParametersRegistryKey .

После завершения работы драйвера с разделом реестра Parameters драйвер должен вызвать WdfRegistryClose.

Примечание

UMDF не поддерживает создание подразделов.

Дополнительные сведения о реестре см. в разделе Использование реестра в Framework-Based Drivers.

Примеры

В следующем примере кода открывается раздел реестра Parameters драйвера и получается дескриптор для объекта раздела реестра платформы, представляющего этот раздел.

WDFKEY hKey;

status = WdfDriverOpenParametersRegistryKey(
                                            Driver,
                                            STANDARD_RIGHTS_ALL,
                                            WDF_NO_OBJECT_ATTRIBUTES,
                                            &hKey
                                            );

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfdriver.h (включая Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Правила соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

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

ACCESS_MASK

WDF_OBJECT_ATTRIBUTES

WdfDriverCreate

WdfDriverGetRegistryPath

WdfGetDriver

WdfRegistryClose