LSA_DELETE_LOGON_SESSION 콜백 함수(ntsecpkg.h)

사용자의 인증 정보가 합법적인지 여부를 확인하면서 생성된 로그온 세션을 정리합니다.

인증에 실패하면 인증 패키지는 관련된 모든 로그온 세션을 삭제해야 합니다.

구문

LSA_DELETE_LOGON_SESSION LsaDeleteLogonSession;

NTSTATUS LsaDeleteLogonSession(
  [in] PLUID LogonId
)
{...}

매개 변수

[in] LogonId

삭제할 로그온 세션의 세션 ID를 포함하는 LUID 구조체에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값이 STATUS_SUCCESS.

함수가 실패하면 반환 값은 다음 값 중 하나 또는 LSA 정책 함수 반환 값 중 하나일 수 있는 NTSTATUS 코드입니다.

반환 코드 설명
STATUS_BAD_LOGON_SESSION_STATE
지정된 로그온 세션에는 삭제되지 않도록 하는 참조 수 값이 있습니다. 이는 운영 체제와 인증 패키지 모두 로그온 세션에 대한 권한이 있다고 믿는 심각한 문제입니다.
STATUS_NO_SUCH_LOGON_SESSION
지정된 로그온 세션을 찾을 수 없습니다.
 

LsaNtStatusToWinError 함수는 NTSTATUS 코드를 Windows 오류 코드로 변환합니다.

설명

로그온 세션은 커널에서 메모리를 사용하므로 사용하지 않거나 삭제된 로그온 세션은 모두 삭제해야 합니다. 그러나 세션에 대한 로그온 ID가 LSA로 반환된 후에는 로그온 세션을 삭제해서는 안 됩니다. LSA에 로그온 ID(예: LsaApLogonUser 호출의 결과)가 제공된 후 LSA는 로그온 세션에 대한 책임이 있다고 가정하고 운영 체제에 더 이상 필요하지 않을 때 삭제합니다. 현재 LSA는 LsaApLogonTerminated 를 호출하여 세션이 삭제되었음을 인증 패키지에 알립니다.

반면, DeleteLogonSession을 사용하여 로그온 세션을 삭제하면 인증 패키지에 알림이 표시되지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 ntsecpkg.h

추가 정보

CreateLogonSession

LSA_DISPATCH_TABLE

LSA_SECPKG_FUNCTION_TABLE