Compartir a través de


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
STATUS_INVALID_DEVICE_REQUEST

no se llamó a WdfRegistryQueryString en IRQL = PASSIVE_LEVEL.

STATUS_INVALID_PARAMETER
Se especificó un parámetro no válido.
STATUS_INSUFFICIENT_RESOURCES
No había memoria suficiente para completar la operación.
STATUS_ACCESS_DENIED
El controlador no abrió la clave del Registro con acceso KEY_QUERY_VALUE, KEY_READ o KEY_ALL_ACCESS.
STATUS_OBJECT_TYPE_MISMATCH
El tipo de datos del valor del Registro que el parámetro ValueName especificado no se REG_SZ.
STATUS_OBJECT_NAME_NOT_FOUND
El valor del Registro no estaba disponible.
STATUS_RESOURCE_DATA_NOT_FOUND
El valor del Registro existe bajo la clave especificada, pero está vacío.
 

Para obtener una lista de otros valores devueltos que el método WdfRegistryQueryString podría devolver, vea Errores de creación de objetos de marco.

Este método también puede devolver otros valores de NTSTATUS.

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Observaciones

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 Using the Registry in Framework-Based Drivers.

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 Valor
de la plataforma de destino de Universal
versión mínima de KMDF 1.0
versión mínima de UMDF 2.0
encabezado de wdfregistry.h (incluya Wdf.h)
biblioteca de Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
irQL PASSIVE_LEVEL
reglas de cumplimiento de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte también

UNICODE_STRING

WdfRegistryQueryMemory

WdfRegistryQueryMultiString

WdfRegistryQueryULong

WdfRegistryQueryUnicodeString

WdfRegistryQueryValue

WdfStringCreate

WdfStringGetUnicodeString