Method: Chef::ReservedNames::Win32::Security.get_security_descriptor_group

Defined in:
lib/chef/win32/security.rb

.get_security_descriptor_group(security_descriptor) ⇒ Object



330
331
332
333
334
335
336
337
338
339
340
341
# File 'lib/chef/win32/security.rb', line 330

def self.get_security_descriptor_group(security_descriptor)
  security_descriptor = security_descriptor.pointer if security_descriptor.respond_to?(:pointer)
  result = FFI::Buffer.new :pointer
  defaulted = FFI::Buffer.new :long
  unless GetSecurityDescriptorGroup(security_descriptor, result, defaulted)
    Chef::ReservedNames::Win32::Error.raise!
  end

  sid = SID.new(result.read_pointer, security_descriptor)
  defaulted = defaulted.read_char != 0
  [ sid, defaulted ]
end