Metodo IRegistryKey::SetValueKey (portcls.h)
Il SetValueKey
metodo 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 di 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 che lo contiene, 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 Dati. Questo parametro specifica il numero di byte di dati a cui verrà copiato il metodo dal buffer a cui punta Data .
Valore restituito
SetValueKey
restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo nell'impostazione della 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 |
---|---|
|
Indica che uno dei parametri passati al metodo non è valido. |
|
Indica che il metodo non è riuscito a trovare la chiave valore denominata. |
Commenti
Se la chiave specificata non ha alcuna voce di valore esistente con un nome corrispondente al valore 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 ValoreName specificato. 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 che lo contiene, molte chiavi diverse nel Registro di sistema possono avere voci di valore con gli stessi nomi.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | portcls.h (include Portcls.h) |
IRQL | PASSIVE_LEVEL |