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


Функция WdfRegistryRemoveKey (wdfregistry.h)

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

Метод WdfRegistryRemoveKey удаляет раздел реестра, связанный с указанным объектом реестра платформы, а затем удаляет объект реестра-ключа реестра.

Синтаксис

NTSTATUS WdfRegistryRemoveKey(
  [in] WDFKEY Key
);

Параметры

[in] Key

Дескриптор объекта реестра, представляющего открытый раздел реестра.

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

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

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

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

STATUS_ACCESS_DENIED
Драйвер не открыл раздел реестра с доступом к удалению.
STATUS_NOT_IMPLEMENTED
См. раздел "Примечания".
 

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

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

Замечания

Заметка

Перед вызовом WdfRegistryRemoveKeyубедитесь, что все ключи и значения под заданным ключом удалены. Сначала удалите каждый подраздел, начиная с конечных ключей и работая вверх.

Примечание   

Из драйвера KMDF не вызывайте WdfRegistryRemoveKey, а затем WdfRegistryClose в том же ключе. WDFKEY больше не действителен после возврата WdfRegistryRemove Key.

 
Хотя драйвер UMDF может вызывать WdfRegistryRemoveKey, вызов всегда возвращает STATUS_NOT_IMPLEMENTED. Чтобы удалить объект WDFKEY, драйвер UMDF должен вместо этого вызвать WdfRegistryClose.

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

Примеры

В следующем примере кода удаляется раздел реестра и удаляется объект реестра.

NTSTATUS  status;

status = WdfRegistryRemoveKey(Key);

Требования

Требование Ценность
целевая платформа Всеобщий
минимальная версия KMDF 1.0
минимальная версия UMDF 2.0
заголовка wdfregistry.h (include Wdf.h)
библиотеки Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
правил соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)