WlxLoggedOutSAS 함수(winwlx.h)
[WlxLoggedOutSAS 함수는 Windows Server 2008 및 Windows Vista를 기준으로 더 이상 사용할 수 없습니다.]
WlxLoggedOutSAS 함수는 대체 GINA DLL에 의해 구현되어야 합니다. Winlogon 은 사용자가 로그온되지 않은 동안 SAS( 보안 주의 시퀀스 ) 이벤트를 수신할 때 이 함수를 호출합니다.
구문
int WlxLoggedOutSAS(
[in] PVOID pWlxContext,
[in] DWORD dwSasType,
[out] PLUID pAuthenticationId,
[in, out] PSID pLogonSid,
[out] PDWORD pdwOptions,
[out] PHANDLE phToken,
[out] PWLX_MPR_NOTIFY_INFO pNprNotifyInfo,
[out] PVOID *pProfile
);
매개 변수
[in] pWlxContext
이 창 스테이션과 연결된 GINA 컨텍스트에 대한 포인터입니다. Winlogon이 이 스테이션에 대해 WlxInitialize 를 호출하면 GINA는 이 컨텍스트 값을 반환합니다.
[in] dwSasType
발생한 SAS 유형을 지정합니다. 0에서 WLX_SAS_TYPE_MAX_MSFT_VALUE 값은 표준 Microsoft SAS 형식을 정의하기 위해 예약되어 있습니다. GINA 개발자는 WLX_SAS_TYPE_MAX_MSFT_VALUE보다 큰 값을 사용하여 추가 SAS 형식을 정의할 수 있습니다.
다음 SAS 형식이 미리 정의되어 있습니다.
값 | 의미 |
---|---|
|
사용자가 표준 CTRL+ALT+DEL SAS를 입력했음을 나타냅니다. |
|
스마트 카드 호환되는 디바이스에 삽입되었음을 나타냅니다. |
|
스마트 카드 호환되는 디바이스에서 제거되었음을 나타냅니다. |
|
지정된 제한 시간 내에 사용자 입력이 수신되지 않음을 나타냅니다. |
[out] pAuthenticationId
현재 로그온 세션과 연결된 인증 식별자를 지정합니다. GetTokenInformation을 호출하여 LogonUser 함수에서 반환된 토큰에 대한 TOKEN_STATISTICS 구조를 가져와 이 값을 가져올 수 있습니다.
[in, out] pLogonSid
입력 시 이 매개 변수는 현재 로그온 세션에 고유한 SID( 보안 식별자 )를 가리킵니다. Winlogon 은 이 SID를 사용하여 새 로그온한 사용자가 액세스할 수 있도록 창 스테이션 및 애플리케이션 데스크톱에서 보호를 변경합니다.
출력에서 Winlogon은 SID를 제공합니다. GetTokenInformation 함수를 사용하여 LogonUser 함수에서 반환된 토큰에 대한 TOKEN_GROUPS 구조를 검색하여 SID를 가져올 수도 있습니다. 이렇게 하려면 SE_GROUP_LOGON_ID 특성을 사용하여 그룹의 TOKEN_GROUPS 구조에서 반환된 배열을 검색합니다.
[out] pdwOptions
로그온 옵션 집합이 포함된 DWORD 에 대한 포인터입니다. 다음 옵션이 정의되어 있습니다.
값 | 의미 |
---|---|
|
Winlogon이 로그온한 사용자에 대한 프로필을 로드해서는 안 됨을 나타냅니다. GINA DLL이 이 작업을 처리하거나 사용자에게 프로필이 필요하지 않습니다. |
[out] phToken
핸들 변수에 대한 포인터입니다. 로그온 작업이 성공하면 이 핸들을 로그온한 사용자를 나타내는 토큰으로 설정합니다. LogonUser 함수를 사용하여 이 토큰을 가져옵니다. 그런 다음, 사용자가 로그오프하면 Winlogon이 이 핸들을 닫고 WlxLogoff 함수를 호출합니다.
WlxLogoff 함수를 호출한 후 이 핸들이 필요한 경우 Winlogon으로 반환하기 전에 핸들을 복제합니다.
[out] pNprNotifyInfo
사용자의 도메인, 사용자 이름 및 암호 정보를 포함하는 WLX_MPR_NOTIFY_INFO 구조에 대한 포인터입니다. Winlogon은 이 정보를 사용하여 네트워크 공급자에게 식별 및 인증 정보를 제공합니다.
GINA는 암호 정보를 반환할 필요가 없습니다. 구조체 내의 모든 NULL 필드는 Winlogon에서 무시됩니다. LocalAlloc을 사용하여 각 문자열을 할당합니다. Winlogon은 더 이상 필요하지 않을 때 이를 해제합니다.
GINA는 전체 세션 디렉터리 기능을 위해 도메인, 사용자 및 암호 값을 제공해야 합니다. 암호를 제공하지 않으면 세션 디렉터리에서 사용자가 서버에 연결되기 전에 암호를 두 번 입력해야 합니다.
암호 보호에 대한 자세한 내용은 암호 처리를 참조하세요.
[out] pProfile
성공적인 인증에서 반환되면 pProfile 매개 변수는 WLX_PROFILE_V1_0 또는 WLX_PROFILE_V2_0 구조를 가리킵니다. 구조체의 첫 번째 DWORD 는 구조체를 나타냅니다. Winlogon은 이 구조를 사용하여 로그온한 사용자의 프로필을 로드하고 더 이상 필요하지 않을 때 구조와 연결된 메모리를 해제합니다.
반환 값
함수가 실패하면 함수는 0을 반환합니다.
함수가 성공하면 다음 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
사용자가 로그온했음을 나타냅니다. |
|
기록된 시도가 실패했거나 취소되었음을 나타냅니다. |
|
사용자가 시스템을 종료해 달라고 요청했음을 나타냅니다. |
설명
WlxLoggedOutSAS를 호출하기 전에 Winlogon은 현재 데스크톱이 Winlogon 데스크톱이 되도록 데스크톱 상태를 설정하고 데스크톱이 잠기도록 워크스테이션 상태를 설정합니다.
WlxLoggedOutSAS에서 사용자 셸 프로그램을 활성화하지 마세요. 사용자 셸 프로그램은 항상 WlxActivateUserShell에서 활성화되어야 합니다.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winwlx.h |