Метод IRegistryKey::SetValueKey (portcls.h)
Метод SetValueKey
заменяет или создает запись значения под открытым ключом.
Синтаксис
NTSTATUS SetValueKey(
[in, optional] PUNICODE_STRING ValueName,
[in] ULONG Type,
[in] PVOID Data,
[in] ULONG DataSize
);
Параметры
[in, optional] ValueName
Указатель на строку, содержащую имя заданного значения. Строка имени задается структурой типа UNICODE_STRING. Если запись значения не имеет имени, задайте для этого параметра значение NULL. Если вызывающий объект задает строку имени, но заданное имя не является уникальным относительно содержащего его ключа, метод заменяет данные для существующей записи значения.
[in] Type
Указывает тип данных, записываемых в параметр ValueName. Задайте для этого параметра один из следующих системных типов:
REG_BINARY
REG_DWORD
REG_DWORD_LITTLE_ENDIAN
REG_DWORD_BIG_ENDIAN
REG_EXPAND_SZ
REG_LINK
REG_MULTI_SZ
REG_NONE
REG_SZ
REG_RESOURCE_LIST
REG_RESOURCE_REQUIREMENTS_LIST
REG_FULL_RESOURCE_DESCRIPTOR
Эти типы параметров описаны в разделе ZwSetValueKey.
[in] Data
Указатель на буфер, содержащий данные. Этот параметр указывает на предоставленную пользователем структуру или значение, соответствующее функции.
[in] DataSize
Задает размер данных в байтах. Этот параметр указывает, сколько байтов данных метод будет копировать из буфера, на который указывает Data .
Возвращаемое значение
SetValueKey
возвращает STATUS_SUCCESS, если вызов успешно задается с заданным ключом значения. В противном случае метод возвращает соответствующий код ошибки. В следующей таблице показаны некоторые возможные коды состояния возврата.
Код возврата | Описание |
---|---|
|
Указывает, что один из параметров, переданных методу, недопустим. |
|
Указывает, что методу не удалось найти ключ именованного значения. |
Комментарии
Если указанный ключ не имеет существующей записи значения с именем, соответствующим заданному значению ValueName, SetValueKey
создает новую запись значения с заданным именем. Если имя совпадающего значения существует, эта подпрограмма перезаписывает исходную запись значения для заданного значения ValueName. Таким образом, SetValueKey
сохраняет уникальное имя для каждой записи значения любого конкретного ключа. Хотя имя каждой записи значения должно быть уникальным для содержащего его ключа, многие разные разделы в реестре могут содержать записи значений с одинаковыми именами.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | portcls.h (включая Portcls.h) |
IRQL | PASSIVE_LEVEL |