In Files

  • ruby-3.1.2/ext/win32/lib/win32/registry.rb

Parent

Methods

Files

Class/Module Index [+]

Quicksearch

Win32::Registry::Error

Constants

FormatMessageW

Attributes

code[R]

Public Class Methods

new(code) click to toggle source
 
               # File ruby-3.1.2/ext/win32/lib/win32/registry.rb, line 176
def initialize(code)
  @code = code
  buff = WCHAR_NUL * 1024
  lang = 0
  begin
    len = FormatMessageW.call(0x1200, 0, code, lang, buff, 1024, 0)
    msg = buff.byteslice(0, len * WCHAR_SIZE)
    msg.delete!(WCHAR_CR)
    msg.chomp!
    msg.encode!(LOCALE)
  rescue EncodingError
    raise unless lang == 0
    lang = 0x0409         # en_US
    retry
  end
  super msg
end