$registry->SetBinaryValue(Registry::HKCU, $test_key, 'BinaryValueFromString', 'ABCDEF');
check_error();
// 3.a.2) Create the HKCU\TestRegistry\Values\BinaryValueFromrArray key (set to "ABC")
$registry->SetBinaryValue(Registry::HKCU, $test_key, 'BinaryValueFromArray', [65, 66, 67]);
check_error();
// 3.a.3) Create the HKCU\TestRegistry\Values\BinaryValueFromrHexString key (set to "0123456789ABCDEF")
$registry->SetBinaryValueFromHexString(Registry::HKCU, $test_key, 'BinaryValueFromHexString', "0123456789ABCDEF");
check_error();
// 3.b) Create the HKCU\TestRegistry\Values\DWORDValue key (set to 0x01020304)
$registry->SetDWORDValue(Registry::HKCU, $test_key, 'DWORDValue', 0x1020304);
check_error();
// 3.c) Create the HKCU\TestRegistry\Values\ExpandedStringValue key, referencing the %WINDIR% environment variable
$registry->SetExpandedStringValue(Registry::HKCU, $test_key, 'ExpandedStringValue', '%WINDIR%\\Something');
check_error();
// 3.d.1) Create the HKCU\TestRegistry\Values\MultiStringValueSingle key
$registry->SetMultiStringValue(Registry::HKCU, $test_key, 'MultiStringValueSingle', 'A sample string');
check_error();
// 3.d.2) Create the HKCU\TestRegistry\Values\MultiStringValueMultiple key
$registry->SetMultiStringValue(Registry::HKCU, $test_key, 'MultiStringValueMultiple', ['Sample 1', 'Sample 2', 'Sample 3']);
check_error();
// 3.e) Create the HKCU\TestRegistry\Values\QWORDValue key (one greater than PHP_INT_MAX, and the other equal to 1)
$registry->SetQWORDValue(Registry::HKCU, $test_key, 'QWORDBigValue', PHP_INT_MAX * 10);
check_error();
$registry->SetQWORDValue(Registry::HKCU, $test_key, 'QWORDValue', 1);
check_error();
// 3.f) Create the HKCU\TestRegistry\Values\StringValue key
$registry->SetStringValue(Registry::HKCU, $test_key, 'StringValue', 'this is a sample string value');
check_error();
// 4.a) Create the HKCU\TestRegistry\Values\WShellStringValue key
$registry->SetValue(Registry::HKCU, $test_key, 'WShellStringValue', 'this is a sample WSHELL string value', Registry::REG_SZ);
check_error();