Funzione WdfRegistryQueryString (wdfregistry.h)

[Si applica a KMDF e UMDF]

Il metodo WdfRegistryQueryString recupera i dati stringa attualmente assegnati a un valore stringa del Registro di sistema specificato e assegna la stringa a un oggetto stringa framework specificato.

Sintassi

NTSTATUS WdfRegistryQueryString(
  [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 per il valore del Registro di sistema.

[in] String

Handle per un oggetto stringa del framework. Il framework assegnerà i dati stringa del valore del Registro di sistema a questo oggetto.

Valore restituito

WdfRegistryQueryString 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

WdfRegistryQueryString non è stato chiamato in IRQL = PASSIVE_LEVEL.

STATUS_INVALID_PARAMETER
È stato specificato un parametro non valido.
STATUS_INSUFFICIENT_RESOURCES
Memoria insufficiente per completare l'operazione.
STATUS_ACCESS_DENIED
Il driver non ha aperto la chiave del Registro di sistema con accesso KEY_QUERY_VALUE, KEY_READ o KEY_ALL_ACCESS.
STATUS_OBJECT_TYPE_MISMATCH
Il tipo di dati del valore del Registro di sistema specificato dal parametro ValueName non è stato REG_SZ.
STATUS_OBJECT_NAME_NOT_FOUND
Il valore del Registro di sistema non è disponibile.
STATUS_RESOURCE_DATA_NOT_FOUND
Il valore del Registro di sistema è presente nella chiave specificata, ma è vuoto.
 

Per un elenco di altri valori restituiti che il metodo WdfRegistryQueryString potrebbe restituire, vedere Errori di creazione di oggetti framework.

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

Per ottenere una stringa da un oggetto stringa, il driver può chiamare WdfStringGetUnicodeString.

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

Esempio

L'esempio di codice seguente crea un oggetto stringa, recupera i dati stringa da una chiave del Registro di sistema e ottiene i dati stringa dall'oggetto stringa.

UNICODE_STRING str;
WDFSTRING string;
NTSTATUS status;
DECLARE_CONST_UNICODE_STRING(valueName, STRING_VALUE_NAME);

status = WdfStringCreate(
                         NULL,
                         WDF_NO_OBJECT_ATTRIBUTES,
                         &string
                         );
if (NT_SUCCESS(status)) {
    status = WdfRegistryQueryString(
                                    Key, 
                                    &valueName,
                                    string
                                    );
    if (NT_SUCCESS(status)) {
        WdfStringGetUnicodeString(
                                  string,
                                  &str
                                  );
    }
}

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

UNICODE_STRING

WdfRegistryQueryMemory

WdfRegistryQueryMultiString

WdfRegistryQueryULong

WdfRegistryQueryUnicodeString

WdfRegistryQueryValue

WdfStringCreate

WdfStringGetUnicodeString