Class: WinFFI::GUID

Inherits:
FFIAdditions::Struct show all
Defined in:
lib/win-ffi/core/struct/guid.rb

Overview

Instance Method Summary collapse

Methods inherited from FFIAdditions::Struct

encoded_setter

Instance Method Details

#from_str(guid) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/win-ffi/core/struct/guid.rb', line 9

def from_str(guid)
  data = [guid.gsub(/[{\-}]/, '')].pack('H*').unpack('L>S>2C8')
  self.Data1 = data[0]
  self.Data2 = data[1]
  self.Data3 = data[2]
  3.upto(data.count - 1) do |i|
    self.Data4[i - 3] = data[i]
  end
end

#to_sObject



19
20
21
22
23
24
25
# File 'lib/win-ffi/core/struct/guid.rb', line 19

def to_s
  str = "%08X-%04X-%04X-%02X%02X-" % [self.Data1, self.Data2, self.Data3, self.Data4[0], self.Data4[1]]
  2.upto(7) do  |i|
    str << "%02X" % self.Data4[i]
  end
  str
end