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 |
---|---|
|
WdfRegistryQueryString non è stato chiamato in IRQL = PASSIVE_LEVEL. |
|
È stato specificato un parametro non valido. |
|
Memoria insufficiente per completare l'operazione. |
|
Il driver non ha aperto la chiave del Registro di sistema con accesso KEY_QUERY_VALUE, KEY_READ o KEY_ALL_ACCESS. |
|
Il tipo di dati del valore del Registro di sistema specificato dal parametro ValueName non è stato REG_SZ. |
|
Il valore del Registro di sistema non è disponibile. |
|
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) |