Função de retorno de chamada do Protótipo de Função do Manipulador de Eventos
[As funções de protótipo do manipulador de eventos não estão mais disponíveis para uso a partir do Windows Server 2008 e do Windows Vista. ]
As funções de Protótipo do Manipulador de Eventos são usadas para todas as funções que lidam com eventos de notificação do Winlogon . O nome da função, representada abaixo pelo Event_Handler_Function_Name de espaço reservado, normalmente reflete o nome do evento que a função manipula. Por exemplo, a função que manipula eventos de logon pode ser nomeada: WLEventLogon.
Sintaxe
void Event_Handler_Function_Name(
_In_ PWLX_NOTIFICATION_INFO pInfo
);
Parâmetros
-
pInfo [in]
-
Um ponteiro para uma estrutura WLX_NOTIFICATION_INFO que contém os detalhes do evento.
Valor retornado
Essa função de retorno de chamada não retorna um valor.
Comentários
Se o manipulador de eventos precisar criar processos filho, ele deverá chamar a função CreateProcessAsUser . Caso contrário, o novo processo será criado na área de trabalho do Winlogon, não na área de trabalho do usuário.
Exemplos
O exemplo a seguir mostra como implementar manipuladores de eventos para eventos Winlogon. Para simplificar, somente as implementações dos manipuladores de eventos Logon e Logoff são mostradas. Você pode implementar manipuladores para o restante dos eventos exatamente da mesma maneira.
// 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"));
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2003 [somente aplicativos da área de trabalho] |
Fim do suporte ao cliente |
Windows XP |
Fim do suporte ao servidor |
Windows Server 2003 |