Bagikan melalui


Fungsi Penanganan Aktivitas Fungsi Prototipe fungsi panggilan balik

[Fungsi Prototipe Penanganan Aktivitas tidak lagi tersedia untuk digunakan pada Windows Server 2008 dan Windows Vista. ]

Fungsi Prototipe Penanganan Aktivitas digunakan untuk semua fungsi yang menangani peristiwa pemberitahuan Winlogon . Nama fungsi, yang diwakili di bawah ini oleh tempat penampung Event_Handler_Function_Name, biasanya mencerminkan nama peristiwa yang ditangani fungsi. Misalnya, fungsi yang menangani peristiwa masuk mungkin diberi nama: WLEventLogon.

Sintaks

void Event_Handler_Function_Name(
  _In_ PWLX_NOTIFICATION_INFO pInfo
);

Parameter

pInfo [in]

Penunjuk ke struktur WLX_NOTIFICATION_INFO yang berisi detail peristiwa.

Menampilkan nilai

Fungsi panggilan balik ini tidak mengembalikan nilai.

Keterangan

Jika penanganan aktivitas Anda perlu membuat proses anak, penanganan aktivitas harus memanggil fungsi CreateProcessAsUser . Jika tidak, proses baru akan dibuat di desktop Winlogon, bukan desktop pengguna.

Contoh

Contoh berikut menunjukkan cara mengimplementasikan penanganan aktivitas untuk peristiwa Winlogon. Untuk kesederhanaan, hanya implementasi penanganan aktivitas Masuk dan Logoff yang ditampilkan. Anda dapat menerapkan handler untuk sisa peristiwa dengan cara yang sama persis.

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

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows XP [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2003 [hanya aplikasi desktop]
Akhir dukungan klien
Windows XP
Akhir dukungan server
Windows Server 2003