Función WdfRegistryQueryString (wdfregistry.h)
[Se aplica a KMDF y UMDF]
El método WdfRegistryQueryString recupera los datos de cadena asignados actualmente a un valor de cadena del Registro especificado y asigna la cadena a un objeto de cadena de marco especificado.
Sintaxis
NTSTATUS WdfRegistryQueryString(
[in] WDFKEY Key,
[in] PCUNICODE_STRING ValueName,
[in] WDFSTRING String
);
Parámetros
[in] Key
Identificador de un objeto de clave del Registro que representa una clave del Registro abierta.
[in] ValueName
Puntero a una estructura de UNICODE_STRING que contiene un nombre para el valor del Registro.
[in] String
Identificador de un objeto de cadena de marco. El marco asignará los datos de cadena del valor del Registro a este objeto.
Valor devuelto
WdfRegistryQueryString devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, el método podría devolver uno de los siguientes valores:
Código devuelto | Descripción |
---|---|
|
No se llamó a WdfRegistryQueryString en IRQL = PASSIVE_LEVEL. |
|
Se especificó un parámetro no válido. |
|
No había memoria suficiente para completar la operación. |
|
El controlador no ha abierto la clave del Registro con KEY_QUERY_VALUE, KEY_READ o acceso KEY_ALL_ACCESS. |
|
Tipo de datos del valor del Registro que el parámetro ValueName especificado no se REG_SZ. |
|
El valor del Registro no estaba disponible. |
|
El valor del Registro existe bajo la clave especificada, pero está vacío. |
Para obtener una lista de otros valores devueltos que podría devolver el método WdfRegistryQueryString , consulte Errores de creación de objetos de marco.
Este método también podría devolver otros valores NTSTATUS.
Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.
Comentarios
Para obtener una cadena de un objeto de cadena, el controlador puede llamar a WdfStringGetUnicodeString.
Para obtener más información sobre los objetos de clave del Registro, vea Uso del Registro en controladores de Framework-Based.
Ejemplos
En el ejemplo de código siguiente se crea un objeto de cadena, se recuperan datos de cadena de una clave del Registro y se obtienen los datos de cadena del objeto de cadena.
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
);
}
}
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Versión mínima de UMDF | 2.0 |
Encabezado | wdfregistry.h (incluya Wdf.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |