Platform SDK: Logon Authentication

SSPI Status Codes

The following status codes are used in SSPI applications.

Status code Meaning
SEC_E_NOT_OWNER The caller of the function does not own the credentials.
SEC_E_CANNOT_INSTALL The security package cannot initialize successfully, and should not be installed.
SEC_I_PACKAGE_INSTALLED Informational return indicating that the package installed itself successfully.
SEC_E_INVALID_HANDLE The handle passed to the function is invalid.
SEC_E_CANNOT_PACK The package is unable to pack the context.
SEC_E_INVALID_TOKEN The token passed to the function is invalid.
SEC_E_NOT_SUPPORTED The request is not supported.
SEC_E_QOP_NOT_SUPPORTED The quality of protection attribute is not supported by this package.
SEC_E_NO_TOKEN The context does not possess an impersonation token.
SEC_E_TARGET_UNKNOWN The target was not recognized.
SEC_E_SECPKG_NOT_FOUND The security package was not recognized.
SEC_E_NO_IMPERSONATION No impersonation is allowed for this context.
SEC_E_LOGON_DENIED This status code is obsolete.
SEC_E_UNKNOWN_CREDENTIALS The credentials provided were not recognized.
SEC_E_NO_CREDENTIALS No credentials are available.
SEC_E_MESSAGE_ALTERED The message supplied for verification has been altered.
SEC_E_OUT_OF_SEQUENCE The message supplied for verification is out of sequence.
SEC_E_NO_AUTHENTICATING_AUTHORITY No authority could be contacted for authentication.
SEC_E_BAD_PKGID The requested package identifier does not exist.
SEC_E_CONTEXT_EXPIRED The context has expired and can no longer be used.
SEC_E_INCOMPLETE_MESSAGE The message supplied was incomplete. The signature was not verified.
SEC_I_CONTINUE_NEEDED The function completed successfully, but you must call this function again to complete the context.
SEC_I_COMPLETE_NEEDED The function completed successfully, but you must call the CompleteAuthToken function on the final message.
SEC_I_COMPLETE_AND_CONTINUE The function completed successfully, but the application must call both CompleteAuthToken and then either InitializeSecurityContext or AcceptSecurityContext again to complete the context.
SEC_E_INSUFFICIENT_MEMORY One or more of the SecBufferDesc structures passed to a function as an OUT parameter has a buffer that is too small.