Winlogon 사용자 지정
자격 증명 공급자를 구현하여 Winlogon 동작을 사용자 지정합니다. 자격 증명 공급자에 대한 자세한 내용은 ICredentialProvider 인터페이스를 참조하세요.
Windows Server 2003 및 Windows XP: 자격 증명 공급자는 지원되지 않습니다.
다음 섹션에서는 Windows Vista 이전의 Windows 버전에서 Winlogon을 사용자 지정하는 방법을 설명합니다.
참고
GINA DLL 및 Winlogon 알림 패키지는 Windows Vista에서 무시됩니다.
Winlogon 알림 패키지
Winlogon 알림 패키지는 Winlogon 이벤트를 처리하는 함수를 내보내는 DLL입니다. 예를 들어 사용자가 시스템에 로그온할 때 Winlogon은 각 알림 패키지를 호출하여 이벤트에 대한 정보를 제공합니다. 자세한 내용은 Winlogon 알림 패키지를 참조하세요.
GINA 스텁
GINA 스텁은 이전에 설치된 GINA DLL(일반적으로 MsGina.dll)의 내보내기 함수 구현을 사용하는 사용자 지정 GINA DLL입니다. GINA 스텁은 이전에 설치된 GINA DLL에서 내보낸 각 함수에 대한 포인터를 가져옵니다. 그런 다음 각 GINA 스텁 함수는 적절한 함수 포인터를 사용하여 이전에 설치된 GINA DLL에서 해당 함수를 호출합니다.
중요
각 GINA 스텁 함수는 이전에 설치된 GINA에서 해당 함수를 호출해야 합니다.
GINA 스텁 함수는 하나 이상의 내보내기 함수에서 추가 기능을 구현할 수 있습니다. 예를 들어 GINA 스텁의 WlxLoggedOutSAS 함수는 MsGina.dll WlxLoggedOutSAS 함수를 호출하기 전에 현재 시간을 검사 수 있습니다. 현재 시간이 특정 범위 내에 있는 경우 스텁 함수는 해당 기간 동안 로그온이 허용되지 않음을 나타내는 메시지를 표시하고 WLX_SAS_ACTION_NONE Winlogon으로 반환할 수 있습니다. 그런 다음 MsGina.dll WlxLoggedOutSAS 함수는 허용된 기간 동안에만 호출됩니다.
GINA 스텁 애플리케이션은 WlxInitialize 함수의 pWinlogonFunctions 매개 변수를 통해 Winlogon 지원 함수에 대한 디스패치 테이블을 가져옵니다. GINA 스텁 애플리케이션은 이 디스패치 테이블을 사용하여 Winlogon 지원 함수를 호출할 수 있습니다. 예를 들어 GINA 스텁 애플리케이션은 WlxSasNotify 함수를 호출하여 스마트 카드판독기에 삽입할 때 SAS(보안 주의 시퀀스) 이벤트를 발생시킬 수 있습니다.
GINA 스텁을 만드는 방법에 대한 자세한 내용은 SDK(플랫폼 소프트웨어 개발 키트) 설치의 \Samples\Security\Gina\GinaStub 디렉터리에 있는 Gina 스텁 샘플을 참조하세요.
참고
GINA와 Winlogon 간의 모든 호출은 단일 스레드 내에 있어야 합니다.
GINA 후크
GINA 후크는 WlxInitialize 함수 구현에서 디스패치 테이블의 WlxDialogBoxParam 지원 함수에 대한 포인터를 WlxDialogBoxParam 함수의 자체 구현에 대한 포인터로 바꾸는 GINA 스텁입니다. 따라서 이전에 설치된 GINA(일반적으로 MsGina.dll)가 WlxDialogBoxParam 함수를 호출할 때마다 GINA 후크에서 구현된 함수가 호출됩니다.
GINA 후크에서 구현된 WlxDialogBoxParam 함수는 특정 대화 상자 이벤트에 응답하는 DialogProc 콜백 프로시저를 대체할 수 있습니다.
이렇게 하면 GINA 후크가 MsGina.dll 만드는 모든 대화 상자의 모양과 동작을 완전히 제어할 수 있습니다.
GINA 후크를 만드는 방법에 대한 자세한 내용은 플랫폼 SDK 설치의 \Samples\Security\Gina\GinaHook 디렉터리에 있는 Gina Hooks 샘플을 참조하세요.
참고
GINA와 Winlogon 간의 모든 호출은 단일 스레드 내에 있어야 합니다.