Class: LiveIdentity::IDCRL::Structs::RSTParams

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

Class Method Summary collapse

Class Method Details

.build(data, address = nil) ⇒ Object



99
100
101
102
103
104
105
106
107
108
109
# File 'lib/live_identity/idcrl/structs.rb', line 99

def self.build(data, address = nil)
    param = IDCRL::RSTParams.new(address)
    param[:cbSize] = self.size
    param[:wzServiceTarget] = FFI::MemoryPointer.from_string(StringToWSTR(data[:ServiceTarget].to_s))
    param[:wzServicePolicy] = FFI::MemoryPointer.from_string(StringToWSTR(data[:ServicePolicy].to_s))
    param[:dwTokenFlags]    = 0
    param[:dwTokenParam]    = 0
    param[:dwTokenFlags]    = data[:TokenFlags] if data.has_key?(:TokenFlags)
    param[:dwTokenParam]    = data[:TokenParam] if data.has_key?(:TokenParam)
    param
end