module Win32::TaskScheduler::Helper
Constants
- FORMAT_MESSAGE_FROM_SYSTEM
- FORMAT_MESSAGE_IGNORE_INSERTS
- FORMAT_MESSAGE_MAX_WIDTH_MASK
Public Instance Methods
ole_error(function, err)
click to toggle source
# File lib/win32/taskscheduler/helper.rb, line 38 def ole_error(function, err) regex = /OLE error code:(.*?)\sin/ match = regex.match(err.to_s) if match error = match.captures.first.hex win_error(function, error) else "#{function}: #{err}" end end
win_error(function, err = FFI.errno)
click to toggle source
# File lib/win32/taskscheduler/helper.rb, line 21 def win_error(function, err = FFI.errno) err_msg = "" flags = FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_MAX_WIDTH_MASK # 0x0409 == MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US) # We use English for errors because Ruby uses English for errors. FFI::MemoryPointer.new(:char, 1024) do |buf| len = FormatMessage(flags, nil, err, 0x0409, buf, buf.size, nil) err_msg = function + ": " + buf.read_string(len).strip end err_msg end