Condividi tramite


Metodo IRegistryKey::SetValueKey (portcls.h)

Il metodo SetValueKey sostituisce o crea una voce di valore sotto la chiave aperta.

Sintassi

NTSTATUS SetValueKey(
  [in, optional] PUNICODE_STRING ValueName,
  [in]           ULONG           Type,
  [in]           PVOID           Data,
  [in]           ULONG           DataSize
);

Parametri

[in, optional] ValueName

Puntatore a una stringa contenente il nome della voce di valore da impostare. La stringa del nome viene specificata da una struttura di tipo UNICODE_STRING. Se la voce del valore non ha alcun nome, impostare questo parametro su NULL. Se il chiamante specifica una stringa di nome ma il nome specificato non è univoco rispetto alla chiave contenitore, il metodo sostituisce i dati per una voce di valore esistente.

[in] Type

Specifica il tipo di dati da scrivere per ValueName. Impostare questo parametro su uno dei tipi definiti dal sistema seguenti:

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

Questi tipi di parametro sono illustrati in ZwSetValueKey.

[in] Data

Puntatore a un buffer contenente i dati. Questo parametro punta a una struttura o a un valore fornito dall'utente appropriato per la funzione.

[in] DataSize

Specifica le dimensioni in byte di Data. Questo parametro specifica il numero di byte di dati a cui il metodo eseguirà la copia dal buffer a cui dati punta.

Valore restituito

SetValueKey restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo impostando la chiave del valore specificata. In caso contrario, il metodo restituisce un codice di errore appropriato. La tabella seguente illustra alcuni dei possibili codici di stato restituiti.

Codice restituito Descrizione
STATUS_INVALID_PARAMETER
Indica che uno dei parametri passati al metodo non è valido.
STATUS_OBJECT_NAME_NOT_FOUND
Indica che il metodo non è riuscito a trovare la chiave valore denominata.

Osservazioni

Se la chiave specificata non ha alcuna voce di valore esistente con un nome corrispondente all'ValoreName specificato, SetValueKey crea una nuova voce di valore con il nome specificato. Se esiste un nome di voce di valore corrispondente, questa routine sovrascrive la voce del valore originale per il valore specificato ValueName. Pertanto, SetValueKey mantiene un nome univoco per ogni voce di valore di qualsiasi chiave specifica. Anche se ogni nome di voce di valore deve essere univoco per la chiave contenitore, molte chiavi diverse nel Registro di sistema possono avere voci di valore con gli stessi nomi.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

Vedere anche

IRegistryKey

UNICODE_STRING

ZwSetValueKey