Share via


Funzione WdfRegistryAssignString (wdfregistry.h)

[Si applica a KMDF e UMDF]

Il metodo WdfRegistryAssignString assegna una stringa a un nome di valore specificato nel Registro di sistema. La stringa è contenuta in un oggetto stringa di framework specificato.

Sintassi

NTSTATUS WdfRegistryAssignString(
  [in] WDFKEY           Key,
  [in] PCUNICODE_STRING ValueName,
  [in] WDFSTRING        String
);

Parametri

[in] Key

Handle per un oggetto chiave del Registro di sistema che rappresenta una chiave del Registro di sistema aperta.

[in] ValueName

Puntatore a una struttura UNICODE_STRING che contiene un nome di valore.

[in] String

Handle per un oggetto stringa del framework che contiene una stringa.

Valore restituito

WdfRegistryAssignString restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, il metodo potrebbe restituire uno dei valori seguenti:

Codice restituito Descrizione
STATUS_INVALID_DEVICE_REQUEST

WdfRegistryAssignString non è stato chiamato in IRQL = PASSIVE_LEVEL.

STATUS_INVALID_PARAMETER
È stato specificato un parametro non valido.
STATUS_ACCESS_DENIED
Il driver non ha aperto la chiave del Registro di sistema con accesso KEY_SET_VALUE.
 

Questo metodo potrebbe anche restituire altri valori NTSTATUS.

Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.

Commenti

Se il nome del valore specificato dal parametro ValueName esiste già, WdfRegistryAssignString aggiorna i dati del valore.

Il framework imposta il tipo di dati del valore su REG_SZ.

Per altre informazioni sugli oggetti chiave del Registro di sistema, vedere Uso del Registro di sistema nei driver Framework-Based.

Esempio

Nell'esempio di codice seguente viene creato un oggetto stringa contenente la stringa "String1" e viene assegnata la stringa al valore ValueName , in una chiave del Registro di sistema specificata.

WDFSTRING string1;
UNICODE_STRING ustring1, valueName;
NTSTATUS status;

RtlInitUnicodeString(
                     &ustring1,
                     L"String1"
                     );
RtlInitUnicodeString(
                     &valueName,
                     L"ValueName"
                     );

status = WdfStringCreate(
                         &ustring1,
                         WDF_NO_OBJECT_ATTRIBUTES,
                         &string1
                         );
if (NT_SUCCESS(status)) {
    status = WdfRegistryAssignString(
                                     Key,
                                     &valueName,
                                     string1
                                     );
}

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1,0
Versione UMDF minima 2,0
Intestazione wdfregistry.h (include Wdf.h)
Libreria Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Regole di conformità DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Vedi anche

RtlInitUnicodeString

UNICODE_STRING

WdfRegistryAssignMemory

WdfRegistryAssignMultiString

WdfRegistryAssignULong

WdfRegistryAssignUnicodeString

WdfRegistryAssignValue

WdfStringCreate