Write data to a registry value named name. When name is nil, write to the `default’ value.
type is type value. (see Registry::Constants module) Class of data must be same as which #read method returns.
# File ext/dl/win32/lib/win32/registry.rb, line 683
def write(name, type, data)
case type
when REG_SZ, REG_EXPAND_SZ
data = data.to_s + "\00""
when REG_MULTI_SZ
data = data.to_a.join("\00"") + "\00\\00""
when REG_BINARY
data = data.to_s
when REG_DWORD
data = API.packdw(data.to_i)
when REG_DWORD_BIG_ENDIAN
data = [data.to_i].pack('N')
when REG_QWORD
data = API.packqw(data.to_i)
else
raise TypeError, "Unsupported type #{type}"
end
API.SetValue(@hkey, name, type, data, data.length)
end