VirtualBox

Changeset 63094 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Aug 6, 2016 3:19:54 PM (8 years ago)
Author:
vboxsync
Message:

VBoxHook: coding standards.

Location:
trunk/src/VBox/Additions/WINNT/VBoxHook
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/VBoxHook/VBoxHook.cpp

    r62679 r63094  
    1616 */
    1717
     18
     19/*********************************************************************************************************************************
     20*   Header Files                                                                                                                 *
     21*********************************************************************************************************************************/
    1822#include <iprt/win/windows.h>
    1923#include <VBoxHook.h>
     
    2125#include <stdio.h>
    2226
     27
     28/*********************************************************************************************************************************
     29*   Global Variables                                                                                                             *
     30*********************************************************************************************************************************/
    2331#pragma data_seg("SHARED")
    24 static HWINEVENTHOOK    hWinEventHook[2]    = {0};
    25 static HWINEVENTHOOK    hDesktopEventHook   = NULL;
     32static HWINEVENTHOOK    g_ahWinEventHook[2]   = { NULL, NULL };
     33static HWINEVENTHOOK    g_hDesktopEventHook   = NULL;
    2634#pragma data_seg()
    2735#pragma comment(linker, "/section:SHARED,RWS")
    2836
    29 static HANDLE   hWinNotifyEvent = 0;
    30 static HANDLE   hDesktopNotifyEvent = 0;
    31 
     37static HANDLE   g_hWinNotifyEvent     = NULL;
     38static HANDLE   g_hDesktopNotifyEvent = NULL;
     39
     40
     41/*********************************************************************************************************************************
     42*   Internal Functions                                                                                                           *
     43*********************************************************************************************************************************/
    3244#ifdef DEBUG
    3345static void WriteLog(const char *pszFormat, ...);
     
    8193        }
    8294#endif
    83         if (!hWinNotifyEvent)
     95        if (!g_hWinNotifyEvent)
    8496        {
    85             hWinNotifyEvent = OpenEvent(EVENT_MODIFY_STATE, FALSE, VBOXHOOK_GLOBAL_WT_EVENT_NAME);
    86             dprintf(("OpenEvent returned %x (last err=%x)\n", hWinNotifyEvent, GetLastError()));
     97            g_hWinNotifyEvent = OpenEvent(EVENT_MODIFY_STATE, FALSE, VBOXHOOK_GLOBAL_WT_EVENT_NAME);
     98            dprintf(("OpenEvent returned %x (last err=%x)\n", g_hWinNotifyEvent, GetLastError()));
    8799        }
    88         BOOL ret = SetEvent(hWinNotifyEvent);
    89         dprintf(("SetEvent %x returned %d (last error %x)\n", hWinNotifyEvent, ret, GetLastError()));
     100        BOOL ret = SetEvent(g_hWinNotifyEvent);
     101        dprintf(("SetEvent %x returned %d (last error %x)\n", g_hWinNotifyEvent, ret, GetLastError()));
    90102        break;
    91103    }
     
    96108                                            DWORD dwEventThread, DWORD dwmsEventTime)
    97109{
    98     if (!hDesktopNotifyEvent)
    99     {
    100         hDesktopNotifyEvent = OpenEvent(EVENT_MODIFY_STATE, FALSE, VBOXHOOK_GLOBAL_DT_EVENT_NAME);
    101         dprintf(("OpenEvent returned %x (last err=%x)\n", hDesktopNotifyEvent, GetLastError()));
    102     }
    103     BOOL ret = SetEvent(hDesktopNotifyEvent);
    104     dprintf(("SetEvent %x returned %d (last error %x)\n", hDesktopNotifyEvent, ret, GetLastError()));
     110    if (!g_hDesktopNotifyEvent)
     111    {
     112        g_hDesktopNotifyEvent = OpenEvent(EVENT_MODIFY_STATE, FALSE, VBOXHOOK_GLOBAL_DT_EVENT_NAME);
     113        dprintf(("OpenEvent returned %x (last err=%x)\n", g_hDesktopNotifyEvent, GetLastError()));
     114    }
     115    BOOL ret = SetEvent(g_hDesktopNotifyEvent);
     116    dprintf(("SetEvent %x returned %d (last error %x)\n", g_hDesktopNotifyEvent, ret, GetLastError()));
    105117}
    106118
    107119BOOL VBoxHookInstallActiveDesktopTracker(HMODULE hDll)
    108120{
    109     if (hDesktopEventHook)
     121    if (g_hDesktopEventHook)
    110122        return TRUE;
    111123
    112124    CoInitialize(NULL);
    113     hDesktopEventHook = SetWinEventHook(EVENT_SYSTEM_DESKTOPSWITCH, EVENT_SYSTEM_DESKTOPSWITCH,
    114                                         hDll,
    115                                         VBoxHandleDesktopEvent,
    116                                         0, 0,
    117                                         0);
    118 
    119     return !!hDesktopEventHook;
     125    g_hDesktopEventHook = SetWinEventHook(EVENT_SYSTEM_DESKTOPSWITCH, EVENT_SYSTEM_DESKTOPSWITCH,
     126                                          hDll,
     127                                          VBoxHandleDesktopEvent,
     128                                          0, 0,
     129                                          0);
     130
     131    return !!g_hDesktopEventHook;
    120132
    121133}
     
    123135BOOL VBoxHookRemoveActiveDesktopTracker()
    124136{
    125     if (hDesktopEventHook)
    126     {
    127         UnhookWinEvent(hDesktopEventHook);
     137    if (g_hDesktopEventHook)
     138    {
     139        UnhookWinEvent(g_hDesktopEventHook);
    128140        CoUninitialize();
    129141    }
    130     hDesktopEventHook = 0;
     142    g_hDesktopEventHook = 0;
    131143    return TRUE;
    132144}
     
    135147BOOL VBoxHookInstallWindowTracker(HMODULE hDll)
    136148{
    137     if (hWinEventHook[0] || hWinEventHook[1])
     149    if (g_ahWinEventHook[0] || g_ahWinEventHook[1])
    138150        return TRUE;
    139151
    140152    CoInitialize(NULL);
    141     hWinEventHook[0] = SetWinEventHook(EVENT_OBJECT_LOCATIONCHANGE, EVENT_OBJECT_LOCATIONCHANGE,
    142                                        hDll,
    143                                        VBoxHandleWinEvent,
    144                                        0, 0,
    145                                        WINEVENT_INCONTEXT | WINEVENT_SKIPOWNPROCESS);
    146 
    147     hWinEventHook[1] = SetWinEventHook(EVENT_OBJECT_CREATE, EVENT_OBJECT_HIDE,
    148                                        hDll,
    149                                        VBoxHandleWinEvent,
    150                                        0, 0,
    151                                        WINEVENT_INCONTEXT | WINEVENT_SKIPOWNPROCESS);
    152     return !!hWinEventHook[0];
     153    g_ahWinEventHook[0] = SetWinEventHook(EVENT_OBJECT_LOCATIONCHANGE, EVENT_OBJECT_LOCATIONCHANGE,
     154                                          hDll,
     155                                          VBoxHandleWinEvent,
     156                                          0, 0,
     157                                          WINEVENT_INCONTEXT | WINEVENT_SKIPOWNPROCESS);
     158
     159    g_ahWinEventHook[1] = SetWinEventHook(EVENT_OBJECT_CREATE, EVENT_OBJECT_HIDE,
     160                                          hDll,
     161                                          VBoxHandleWinEvent,
     162                                          0, 0,
     163                                          WINEVENT_INCONTEXT | WINEVENT_SKIPOWNPROCESS);
     164    return !!g_ahWinEventHook[0];
    153165}
    154166
     
    156168BOOL VBoxHookRemoveWindowTracker()
    157169{
    158     if (hWinEventHook[0] && hWinEventHook[1])
    159     {
    160         UnhookWinEvent(hWinEventHook[0]);
    161         UnhookWinEvent(hWinEventHook[1]);
     170    if (g_ahWinEventHook[0] && g_ahWinEventHook[1])
     171    {
     172        UnhookWinEvent(g_ahWinEventHook[0]);
     173        UnhookWinEvent(g_ahWinEventHook[1]);
    162174        CoUninitialize();
    163175    }
    164     hWinEventHook[0]  = hWinEventHook[1] = 0;
     176    g_ahWinEventHook[0] = g_ahWinEventHook[1] = 0;
    165177    return TRUE;
    166178}
  • trunk/src/VBox/Additions/WINNT/VBoxHook/dllmain.cpp

    r62679 r63094  
    2626 * @param   hDLLInst        Dll instance handle
    2727 * @param   fdwReason       Callback reason
    28  * @param   lpvReserved     Reserved
     28 * @param   pvReserved      Reserved
    2929 */
    30 BOOL WINAPI DllMain(HINSTANCE hDLLInst, DWORD fdwReason, LPVOID lpvReserved)
     30BOOL WINAPI DllMain(HINSTANCE hDLLInst, DWORD fdwReason, LPVOID pvReserved)
    3131{
     32    RT_NOREF(hDLLInst, pvReserved)
    3233    switch (fdwReason)
    3334    {
  • trunk/src/VBox/Additions/WINNT/VBoxHook/testcase/tstHook.cpp

    r62679 r63094  
     1/* $Id$ */
     2/** @file
     3 * VBoxHook testcase.
     4 */
     5
    16/*
    27 * Copyright (C) 2006-2016 Oracle Corporation
     
    1924#include <stdio.h>
    2025
    21 int main(int argc, char **argv)
     26
     27int main()
    2228{
    2329    printf("Enabling global hook\n");
     
    3440    return 0;
    3541}
     42
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette