Method: Win32::TaskScheduler#trigger

Defined in:
lib/puppet/util/windows/taskscheduler.rb

#trigger(index) ⇒ Object

Returns a hash that describes the trigger at the given index for the current task.

Raises:



622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
# File 'lib/puppet/util/windows/taskscheduler.rb', line 622

def trigger(index)
  raise Error.new('No current task scheduler. ITaskScheduler is NULL.') if @pITS.nil?
  raise Error.new('No currently active task. ITask is NULL.') if @pITask.nil?

  trigger = {}

  @pITask.UseInstance(COM::TaskTrigger, :GetTrigger, index) do |pITaskTrigger|
    FFI::MemoryPointer.new(COM::TASK_TRIGGER.size) do |task_trigger_ptr|
      pITaskTrigger.GetTrigger(task_trigger_ptr)
      trigger = populate_hash_from_trigger(COM::TASK_TRIGGER.new(task_trigger_ptr))
    end
  end

  trigger
end