Freigeben über


Event Handler Function Prototype Callback-Funktion

[Event Handler Prototype-Funktionen sind ab Windows Server 2008 und Windows Vista nicht mehr verfügbar. ]

Prototypfunktionen des Ereignishandlers werden für alle Funktionen verwendet, die Winlogon-Benachrichtigungsereignisse verarbeiten. Der Name der Funktion, der unten durch den Platzhalter Event_Handler_Function_Name dargestellt wird, gibt in der Regel den Namen des Ereignisses an, das die Funktion verarbeitet. Beispielsweise könnte die Funktion, die Anmeldeereignisse verarbeitet, den Namen WLEventLogon haben.

Syntax

void Event_Handler_Function_Name(
  _In_ PWLX_NOTIFICATION_INFO pInfo
);

Parameter

pInfo [in]

Ein Zeiger auf eine WLX_NOTIFICATION_INFO-Struktur , die die Details des Ereignisses enthält.

Rückgabewert

Diese Rückruffunktion gibt keinen Wert zurück.

Bemerkungen

Wenn Ihr Ereignishandler untergeordnete Prozesse erstellen muss, sollte er die CreateProcessAsUser-Funktion aufrufen. Andernfalls wird der neue Prozess auf dem Winlogon-Desktop erstellt, nicht auf dem Desktop des Benutzers.

Beispiele

Im folgenden Beispiel wird gezeigt, wie Ereignishandler für Winlogon-Ereignisse implementiert werden. Der Einfachheit halber werden nur die Implementierungen der Ereignishandler "Logon" und "Logoff" angezeigt. Sie können Handler für die restlichen Ereignisse auf genau die gleiche Weise implementieren.

// 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"));
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2003 [nur Desktop-Apps]
Ende des Supports (Client)
Windows XP
Ende des Supports (Server)
Windows Server 2003