Class: Win32::Security::ACE

Inherits:
Object
  • Object
show all
Defined in:
lib/win32/security/ace.rb

Overview

The ACE class encapsulates an Access Control Entry, an element within an Access Control List.

Constant Summary collapse

VERSION =

The version of the Win32::Security::ACE class.

'0.1.0'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(access_mask, ace_type, flags) {|_self| ... } ⇒ ACE

Creates and returns an ACE object.

Yields:

  • (_self)

Yield Parameters:



26
27
28
29
30
31
# File 'lib/win32/security/ace.rb', line 26

def initialize(access_mask, ace_type, flags)
  @access_mask = access_mask
  @ace_type = ace_type
  @flags = flags
  yield self if block_given?
end

Instance Attribute Details

#access_maskObject

Standard access rights, e.g. GENERIC_READ, GENERIC_WRITE, etc. This is an integer.



18
19
20
# File 'lib/win32/security/ace.rb', line 18

def access_mask
  @access_mask
end

#ace_typeObject

The ACE type, e.g. ACCESS_ALLOWED, ACCESS_DENIED, etc. This is an integer.



14
15
16
# File 'lib/win32/security/ace.rb', line 14

def ace_type
  @ace_type
end

#flagsObject (readonly)

Bit flags associated with the ACE, e.g. OBJECT_INHERIT_ACE, etc. This is an integer.



22
23
24
# File 'lib/win32/security/ace.rb', line 22

def flags
  @flags
end

Instance Method Details

#ace_type_stringObject

Returns the type of ace as a string, e.g. “ACCESS_ALLOWED_TYPE_ACE”.



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/win32/security/ace.rb', line 35

def ace_type_string
  case @ace_type
    when 0x0
      'ACCESS_ALLOWED_ACE_TYPE'
    when 0x1
      'ACCESS_DENIED_ACE_TYPE'
    when 0x2
      'SYSTEM_AUDIT_ACE_TYPE'
    when 0x3
      'SYSTEM_ALARM_ACE_TYPE'
    when 0x4
      'ACCESS_ALLOWED_COMPOUND_ACE_TYPE'
    when 0x5
      'ACCESS_ALLOWED_OBJECT_ACE_TYPE'
    when 0x6
      'ACCESS_DENIED_OBJECT_ACE_TYPE'
    when 0x7
      'SYSTEM_AUDIT_OBJECT_ACE_TYPE'
    when 0x8
      'SYSTEM_ALARM_OBJECT_ACE_TYPE'
    when 0x9
      'ACCESS_ALLOWED_CALLBACK_ACE_TYPE'
    when 0xA
      'ACCESS_DENIED_CALLBACK_ACE_TYPE'
    when 0xB
      'ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE'
    when 0xC
      'ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE'
    when 0xD
      'SYSTEM_AUDIT_CALLBACK_ACE_TYPE'
    when 0xE
      'SYSTEM_ALARM_CALLBACK_ACE_TYPE'
    when 0xF
      'SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE'
    when 0x10
      'SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE'
  end
end