SetBinaryValue method of the StdRegProv class

The SetBinaryValue method sets the data value for a named value whose data type is REG_BINARY.

This topic uses Managed Object Format (MOF) syntax. For more information about using this method, see Calling a Method.


uint32 SetBinaryValue(
  [in] uint32 hDefKey = HKEY_LOCAL_MACHINE,
  [in] string sSubKeyName,
  [in] string sValueName,
  [in] uint8  uValue[]


hDefKey [in]

A registry tree, also known as a hive, that contains the sSubKeyName path. The default value is HKEY_LOCAL_MACHINE.

The following trees are defined in WinReg.h.

HKEY_CLASSES_ROOT (2147483648)

HKEY_CURRENT_USER (2147483649)


HKEY_USERS (2147483651)


sSubKeyName [in]

A key that contains the named value to be set.

sValueName [in]

A named value whose data value you are setting. You can specify an existing named value (update) or a new named value (create). Specify an empty string to set the data value for the default named value.

uValue [in]

An array of binary data values. The default value is [1,2].

Return value

In C++, the method returns a uint32 value that is 0 (zero) if successful. If the function fails, the return value is a nonzero error code that is defined in WinError.h. In C++, use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error. You can also look up return values under the WMI Error Constants.

In scripting or Visual Basic, the method returns an integer value that is 0 (zero) if successful. If the function fails, the return value is a nonzero error code that you can look up in WbemErrorEnum.


The Send a file to the Recycle Bin VBScript code sample sends a file to the Recycle Bin instead of permanently deleting that file.

The following VBScript code example shows how to write a new value to the REG_BINARY value that is located in HKEY_LOCAL_MACHINE\SOFTWARE\MyKey\MyBinaryNamedValue.

Const HKEY_CURRENT_USER = &H80000001
Set objRegistry = _

strPath = "Software\MyKey"
uBinary = Array(1,2,3,4,5,6,7,8)
Return = objRegistry.SetBinaryValue(HKEY_CURRENT_USER, _
   strPath, _
   "MyBinaryNamedValue", _

If (Return = 0) And (Err.Number = 0) Then
    Wscript.Echo "Binary value added successfully"
    ' An error occurred
End If


Minimum supported client
Windows Vista
Minimum supported server
Windows Server 2008

See also


Modifying the System Registry

WMI Tasks: Registry