Compartilhar via


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