Class: WinCommon::Structs::GUID

Inherits:
FFI::Struct
  • Object
show all
Defined in:
lib/win_common/structs.rb

Direct Known Subclasses

CLSID, FMTID, IID

Instance Method Summary collapse

Instance Method Details

#from_str(guid) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/win_common/structs.rb', line 11

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_refObject



29
30
31
# File 'lib/win_common/structs.rb', line 29

def to_ref
    self.ptr
end

#to_sObject



21
22
23
24
25
26
27
# File 'lib/win_common/structs.rb', line 21

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