Метод 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
Задает размер в байтах данных. Этот параметр указывает, сколько байтов данных метод будет копировать из буфера, на который данные указывает.
Возвращаемое значение
SetValueKey
возвращает STATUS_SUCCESS, если вызов выполнен успешно при задании указанного ключа значения. В противном случае метод возвращает соответствующий код ошибки. В следующей таблице показаны некоторые возможные коды состояния возврата.
Возвращаемый код | Описание |
---|---|
|
Указывает, что один из параметров, переданных методу, недопустим. |
|
Указывает, что метод не удалось найти именованный ключ значения. |
Замечания
Если заданный ключ не имеет существующей записи значения с именем, соответствующим заданному ValueName, SetValueKey
создает новую запись значения с заданным именем. Если имя записи соответствующего значения существует, эта подпрограмма перезаписывает исходную запись значения для заданного ValueName. Таким образом, SetValueKey
сохраняет уникальное имя для каждой записи значений любого определенного ключа. Хотя каждое имя записи значения должно быть уникальным для его содержащего ключа, многие разные разделы в реестре могут содержать записи значений с одинаковыми именами.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | portcls.h (include Portcls.h) |
IRQL | PASSIVE_LEVEL |