Method: LiveIdentity::IDCRL::Structs::RSTParams.build

Defined in:
lib/live_identity/idcrl/structs.rb

.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