class Win32::SSPI::SSPIResult

Takes a return result from an SSPI function and interprets the value.

Constants

SEC_E_INSUFFICIENT_MEMORY

These are generally returned by InitializeSecurityContext

SEC_E_INTERNAL_ERROR
SEC_E_INVALID_HANDLE
SEC_E_INVALID_TOKEN
SEC_E_LOGON_DENIED
SEC_E_NOT_OWNER

These are generally returned by AcquireCredentialsHandle

SEC_E_NO_AUTHENTICATING_AUTHORITY
SEC_E_NO_CREDENTIALS
SEC_E_OK

Good results

SEC_E_SECPKG_NOT_FOUND
SEC_E_TARGET_UNKNOWN
SEC_E_UNKNOWN_CREDENTIALS
SEC_E_UNSUPPORTED_FUNCTION
SEC_E_WRONG_PRINCIPAL
SEC_I_CONTINUE_NEEDED

Attributes

value[R]

Public Class Methods

new(value) click to toggle source
# File ext/dl/win32/lib/win32/sspi.rb, line 181
def initialize(value)
        # convert to unsigned long
        value = [value].pack("L").unpack("L").first
        raise "#{value.to_s(16)} is not a recognized result" unless @@map.has_key? value
        @value = value
end

Public Instance Methods

==(other) click to toggle source
# File ext/dl/win32/lib/win32/sspi.rb, line 196
def ==(other)
        if other.is_a?(SSPIResult)
                @value == other.value
        elsif other.is_a?(Fixnum)
                @value == @@map[other]
        else
                false
        end
end
ok?() click to toggle source
# File ext/dl/win32/lib/win32/sspi.rb, line 192
def ok?
        @value == SEC_I_CONTINUE_NEEDED || @value == SEC_E_OK
end
to_s() click to toggle source
# File ext/dl/win32/lib/win32/sspi.rb, line 188
def to_s
        @@map[@value].to_s
end