# File lib/facter/util/windows/process.rb, line 78
  def elevated_security?
    # default / pre-Vista

    elevated = false
    handle = nil

    begin
      handle = get_current_process
      open_process_token(handle, TOKEN_QUERY) do |token_handle|
        get_token_information(token_handle, :TokenElevation) do |token_info|
          token_elevation = parse_token_information_as_token_elevation(token_info)
          # TokenIsElevated member of the TOKEN_ELEVATION struct

          elevated = token_elevation[:TokenIsElevated] != 0
        end
      end

      elevated
    rescue Facter::Util::Windows::Error => e
      raise e if e.code != ERROR_NO_SUCH_PRIVILEGE
    ensure
      Facter::Util::Windows::FFI::WIN32.CloseHandle(handle) if handle
    end
  end