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

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

Метод WdfRegistryAssignString назначает строку указанному имени значения в реестре. Строка содержится в указанном объекте строки платформы.

Синтаксис

NTSTATUS WdfRegistryAssignString(
  [in] WDFKEY           Key,
  [in] PCUNICODE_STRING ValueName,
  [in] WDFSTRING        String
);

Параметры

[in] Key

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

[in] ValueName

Указатель на структуру UNICODE_STRING , содержащую имя значения.

[in] String

Дескриптор для объекта строки платформы, содержащего строку.

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

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

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

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

STATUS_INVALID_PARAMETER
Указан недопустимый параметр.
STATUS_ACCESS_DENIED
Драйвер не открыл раздел реестра с KEY_SET_VALUE доступом.
 

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

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

Комментарии

Если имя значения, указанное в параметре ValueName , уже существует, WdfRegistryAssignString обновляет данные значения.

Платформа задает тип данных значения как REG_SZ.

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

Примеры

В следующем примере кода создается строковый объект, содержащий строку "String1" и присваивающий строке значение ValueName в указанном разделе реестра.

WDFSTRING string1;
UNICODE_STRING ustring1, valueName;
NTSTATUS status;

RtlInitUnicodeString(
                     &ustring1,
                     L"String1"
                     );
RtlInitUnicodeString(
                     &valueName,
                     L"ValueName"
                     );

status = WdfStringCreate(
                         &ustring1,
                         WDF_NO_OBJECT_ATTRIBUTES,
                         &string1
                         );
if (NT_SUCCESS(status)) {
    status = WdfRegistryAssignString(
                                     Key,
                                     &valueName,
                                     string1
                                     );
}

Требования

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

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

RtlInitUnicodeString

UNICODE_STRING

WdfRegistryAssignMemory

WdfRegistryAssignMultiString

WdfRegistryAssignULong

WdfRegistryAssignUnicodeString

WdfRegistryAssignValue

WdfStringCreate