WdfRegistryAssignString - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// wdfregistry.h

NTSTATUS WdfRegistryAssignString(
  [in] WDFKEY           Key,
  [in] PCUNICODE_STRING ValueName,
  [in] WDFSTRING        String
);
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-wdfregistry-wdfregistryassignstring)

WdfRegistryAssignString function

Description

[Applies to KMDF and UMDF]

The WdfRegistryAssignString method assigns a string to a specified value name in the registry. The string is contained in a specified framework string object.

Parameters

Key [in]

A handle to a registry-key object that represents an opened registry key.

ValueName [in]

A pointer to a UNICODE_STRING structure that contains a value name.

String [in]

A handle to a framework string object that contains a string.

Return value

WdfRegistryAssignString returns STATUS_SUCCESS if the operation succeeds. Otherwise, the method might return one of the following values:

Return code Description
STATUS_INVALID_DEVICE_REQUEST WdfRegistryAssignString was not called at IRQL = PASSIVE_LEVEL.
STATUS_INVALID_PARAMETER An invalid parameter was specified.
STATUS_ACCESS_DENIED The driver did not open the registry key with KEY_SET_VALUE access.

This method also might return other NTSTATUS values.

A bug check occurs if the driver supplies an invalid object handle.

Remarks

If the value name that the ValueName parameter specifies already exists, WdfRegistryAssignString updates the value's data.

The framework sets the value's data type to REG_SZ.

For more information about registry-key objects, see Using the Registry in Framework-Based Drivers.

Examples

The following code example creates a string object that contains the string "String1" and assigns the string to the ValueName value, under a specified registry key.

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
                                     );
}

See also

RtlInitUnicodeString

UNICODE_STRING

WdfRegistryAssignMemory

WdfRegistryAssignMultiString

WdfRegistryAssignULong

WdfRegistryAssignUnicodeString

WdfRegistryAssignValue

WdfStringCreate