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


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

[Относится к KMDF и UMDF]

Метод WdfRegistryAssignUnicodeString назначает указанную строку Юникода указанному имени значения в реестре.

Синтаксис

NTSTATUS WdfRegistryAssignUnicodeString(
  [in] WDFKEY           Key,
  [in] PCUNICODE_STRING ValueName,
  [in] PCUNICODE_STRING Value
);

Параметры

[in] Key

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

[in] ValueName

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

[in] Value

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

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

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

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

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

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

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

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

Комментарии

Если строка, указываемая параметром Value , не завершается со значением NULL, платформа добавляет символ NULL при копировании строки в реестр.

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

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

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

Примеры

В следующем примере кода строка Юникода "String1" назначается значению ValueName в указанном разделе реестра.

UNICODE_STRING ustring1, valueName;
NTSTATUS status;

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

status = WdfRegistryAssignUnicodeString(
                                        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

WdfRegistryAssignString

WdfRegistryAssignULong

WdfRegistryAssignValue