Condividi tramite


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
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.

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

Vedi anche

IRegistryKey

UNICODE_STRING

ZwSetValueKey