Função WdfRegistryAssignString (wdfregistry.h)

[Aplica-se a KMDF e UMDF]

O método WdfRegistryAssignString atribui uma cadeia de caracteres a um nome de valor especificado no registro. A cadeia de caracteres está contida em um objeto de cadeia de caracteres de estrutura especificado.

Sintaxe

NTSTATUS WdfRegistryAssignString(
  [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 de valor.

[in] String

Um identificador para um objeto de cadeia de caracteres de estrutura que contém uma cadeia de caracteres.

Retornar valor

WdfRegistryAssignString 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
STATUS_INVALID_DEVICE_REQUEST

WdfRegistryAssignString não foi chamado em IRQL = PASSIVE_LEVEL.

STATUS_INVALID_PARAMETER
Um parâmetro inválido foi especificado.
STATUS_ACCESS_DENIED
O driver não abriu a chave do Registro com acesso KEY_SET_VALUE.
 

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

Se o nome do valor especificado pelo parâmetro ValueName já existir, WdfRegistryAssignString atualizará os dados do valor.

A estrutura define o tipo de dados do valor como REG_SZ.

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 que contém a cadeia de caracteres "String1" e atribui a cadeia de caracteres ao valor ValueName , em uma chave do Registro especificada.

WDFSTRING string1;
UNICODE_STRING ustring1, valueName;
NTSTATUS status;

RtlInitUnicodeString(
                     &ustring1,
                     L"String1"
                     );
RtlInitUnicodeString(
                     &valueName,
                     L"ValueName"
                     );

status = WdfStringCreate(
                         &ustring1,
                         WDF_NO_OBJECT_ATTRIBUTES,
                         &string1
                         );
if (NT_SUCCESS(status)) {
    status = WdfRegistryAssignString(
                                     Key,
                                     &valueName,
                                     string1
                                     );
}

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 (inclua Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Regras de conformidade de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Confira também

RtlInitUnicodeString

UNICODE_STRING

WdfRegistryAssignMemory

WdfRegistryAssignMultiString

WdfRegistryAssignULong

WdfRegistryAssignUnicodeString

WdfRegistryAssignValue

WdfStringCreate