Rückruffunktion der Ereignishandlerfunktion Prototype

[Funktionen des Ereignishandlerprototyps sind ab Windows Server 2008 und Windows Vista nicht mehr für die Verwendung verfügbar. ]

Ereignishandlerprototypfunktionen werden für alle Funktionen verwendet, die Winlogon-Benachrichtigungsereignisse behandeln. Der Name der Funktion, dargestellt unten durch den _ _ Ereignishandlerfunktionsnamen _ des Platzhalters, spiegelt in der Regel den Namen des Ereignisses wider, das von der Funktion behandelt wird. Beispielsweise könnte die Funktion, die Anmeldeereignisse behandelt, 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.

Hinweise

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

Beispiele

Das folgende Beispiel zeigt, wie Ereignishandler für Winlogon-Ereignisse implementiert werden. Der Einfachheit halber werden nur die Implementierungen der Logon- und Logoff-Ereignishandler 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 [Nur XP-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server [ 2003-Desktop-Apps]
Ende des Supports (Client)
Windows XP
Ende des Supports (Server)
Windows Server 2003