共用方式為


事件處理常式函式原型回呼函式

[事件處理常式原型函式已不再可供 Windows Server 2008 和 Windows Vista 使用。 ]

事件處理常式原型函式會用於處理 Winlogon 通知事件的所有函式。 由預留位置 Event_Handler_Function_Name所代表的函式名稱,通常會反映函式處理的事件名稱。 例如,處理登入事件的函式可能會命名為: WLEventLogon

語法

void Event_Handler_Function_Name(
  _In_ PWLX_NOTIFICATION_INFO pInfo
);

參數

pInfo [in]

包含事件詳細資料的 WLX_NOTIFICATION_INFO 結構的指標。

傳回值

這個回呼函式不會傳回值。

備註

如果您的事件處理常式需要建立子進程,它應該呼叫 CreateProcessAsUser 函 式。 否則,新的程式將會在 Winlogon 桌面上建立,而不是使用者的桌面。

範例

下列範例示範如何實作 Winlogon 事件的事件處理常式。 為了簡單起見,只會顯示 Logon 和 Logoff 事件處理常式的實作。 您可以以完全相同的方式實作其餘事件的處理常式。

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

規格需求

需求
最低支援的用戶端
Windows XP [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2003 [僅限桌面應用程式]
用戶端支援結束
Windows XP
伺服器終止支援
Windows Server 2003