Função WdfRegistryQueryString (wdfregistry.h)
[Aplica-se a KMDF e UMDF]
O método WdfRegistryQueryString recupera os dados de cadeia de caracteres atualmente atribuídos a um valor de cadeia de caracteres do Registro especificado e atribui a cadeia de caracteres a um objeto de cadeia de caracteres de estrutura especificado.
Sintaxe
NTSTATUS WdfRegistryQueryString(
[in] WDFKEY Key,
[in] PCUNICODE_STRING ValueName,
[in] WDFSTRING String
);
Parâmetros
[in] Key
Um identificador para um objeto de chave do Registro que representa uma chave do Registro aberta.
[in] ValueName
Um ponteiro para uma estrutura UNICODE_STRING que contém um nome para o valor do Registro.
[in] String
Um identificador para um objeto de cadeia de caracteres de estrutura. A estrutura atribuirá os dados de cadeia de caracteres do valor do Registro a esse objeto.
Retornar valor
WdfRegistryQueryString retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, o método poderá retornar um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
WdfRegistryQueryString não foi chamado em IRQL = PASSIVE_LEVEL. |
|
Um parâmetro inválido foi especificado. |
|
Não havia memória suficiente para concluir a operação. |
|
O driver não abriu a chave do Registro com acesso KEY_QUERY_VALUE, KEY_READ ou KEY_ALL_ACCESS. |
|
O tipo de dados do valor do Registro especificado pelo parâmetro ValueName não foi REG_SZ. |
|
O valor do Registro não estava disponível. |
|
O valor do Registro existe sob a chave especificada, mas está vazio. |
Para obter uma lista de outros valores retornados que o método WdfRegistryQueryString pode retornar, consulte Erros de criação de objeto de estrutura.
Esse método também pode retornar outros valores NTSTATUS.
Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.
Comentários
Para obter uma cadeia de caracteres de um objeto de cadeia de caracteres, o driver pode chamar WdfStringGetUnicodeString.
Para obter mais informações sobre objetos de chave do Registro, consulte Usando o Registro em drivers de Framework-Based.
Exemplos
O exemplo de código a seguir cria um objeto de cadeia de caracteres, recupera dados de cadeia de caracteres de uma chave do Registro e obtém os dados de cadeia de caracteres do objeto de cadeia de caracteres.
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 |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Versão mínima do UMDF | 2,0 |
Cabeçalho | wdfregistry.h (include Wdf.h) |
Biblioteca | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Regras de conformidade da DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |