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 |