이벤트 처리기 함수 프로토타입 콜백 함수
[이벤트 처리기 프로토타입 함수는 Windows Server 2008 및 Windows Vista를 기준으로 더 이상 사용할 수 없습니다. ]
이벤트 처리기 프로토타입 함수는 Winlogon 알림 이벤트를 처리하는 모든 함수에 사용됩니다. 자리 표시자 Event_Handler_Function_Name 아래에 표시되는 함수의 이름은 일반적으로 함수가 처리하는 이벤트의 이름을 반영합니다. 예를 들어 로그온 이벤트를 처리하는 함수의 이름은 WLEventLogon일 수 있습니다.
구문
void Event_Handler_Function_Name(
_In_ PWLX_NOTIFICATION_INFO pInfo
);
매개 변수
-
pInfo [in]
-
이벤트의 세부 정보를 포함하는 WLX_NOTIFICATION_INFO 구조체에 대한 포인터입니다.
반환 값
이 콜백 함수는 값을 반환하지 않습니다.
설명
이벤트 처리기가 자식 프로세스를 만들어야 하는 경우 CreateProcessAsUser 함수를 호출해야 합니다. 그렇지 않으면 새 프로세스가 사용자의 데스크톱이 아닌 Winlogon 데스크톱에 만들어집니다.
예제
다음 샘플에서는 Winlogon 이벤트에 대한 이벤트 처리기를 구현하는 방법을 보여 줍니다. 간단히 하기 위해 Logon 및 Logoff 이벤트 처리기의 구현만 표시됩니다. 정확히 동일한 방식으로 나머지 이벤트에 대한 처리기를 구현할 수 있습니다.
// Copyright (C) Microsoft. All rights reserved.
#include <windows.h>
// Here is the entrance function for the DLL.
BOOL WINAPI LibMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
{
// Disable DLL_THREAD_ATTACH & DLL_THREAD_DETACH
// notification calls. This is a performance optimization
// for multithreaded applications that do not need
// thread-level notifications of attachment or
// detachment.
DisableThreadLibraryCalls (hInstance);
}
break;
}
return TRUE;
}
// Here is the event handler for the Winlogon Logon event.
void WLEventLogon (PWLX_NOTIFICATION_INFO pInfo)
{
// Print the name of the handler to debug output.
// You can replace this with more useful functionality.
OutputDebugString (TEXT("NOTIFY: Entering WLEventLogon.\r\n"));
}
// Here is the event handler for the Winlogon Logoff event.
void WLEventLogoff (PWLX_NOTIFICATION_INFO pInfo)
{
// Print the name of the handler to debug output.
// You can replace this with more useful functionality.
OutputDebugString (TEXT("NOTIFY: Entering WLEventLogff.\r\n"));
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 |
Windows Server 2003 [데스크톱 앱만 해당] |
클라이언트 지원 종료 |
Windows XP |
서버 지원 종료 |
Windows Server 2003 |