VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxTray.h@ 34575

Last change on this file since 34575 was 34080, checked in by vboxsync, 14 years ago

VBoxTray: Hacking for IPC over named pipes support.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.7 KB
Line 
1/* $Id: VBoxTray.h 34080 2010-11-15 17:18:03Z vboxsync $ */
2/** @file
3 * VBoxTray - Guest Additions Tray, Internal Header.
4 */
5
6/*
7 * Copyright (C) 2006-2007 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 */
17
18#ifndef ___VBOXTRAY_H
19#define ___VBOXTRAY_H
20
21#include <windows.h>
22#include <tchar.h>
23#include <stdio.h>
24#include <stdarg.h>
25#include <process.h>
26
27#include <iprt/initterm.h>
28#include <iprt/string.h>
29
30#include <VBox/version.h>
31#include <VBox/Log.h>
32#include <VBox/VBoxGuest.h> /** @todo use the VbglR3 interface! */
33#include <VBox/VBoxGuestLib.h>
34#include <VBoxDisplay.h>
35
36#include "VBoxDispIf.h"
37
38/*
39 * Windows messsages.
40 */
41
42/**
43 * General VBoxTray messages.
44 */
45#define WM_VBOXTRAY_TRAY_ICON WM_APP + 40
46/**
47 * VM/VMMDev related messsages.
48 */
49#define WM_VBOXTRAY_VM_RESTORED WM_APP + 100
50/**
51 * VRDP messages.
52 */
53#define WM_VBOXTRAY_VRDP_CHECK WM_APP + 301
54
55
56/* The tray icon's ID. */
57#define ID_TRAYICON 2000
58
59
60/*
61 * Timer IDs.
62 */
63#define TIMERID_VBOXTRAY_CHECK_HOSTVERSION 1000
64
65/* The environment information for services. */
66typedef struct _VBOXSERVICEENV
67{
68 HINSTANCE hInstance;
69 HANDLE hDriver;
70 HANDLE hStopEvent;
71 /* display driver interface, XPDM - WDDM abstraction see VBOXDISPIF** definitions above */
72 VBOXDISPIF dispIf;
73} VBOXSERVICEENV;
74
75/* The service initialization info and runtime variables. */
76typedef struct _VBOXSERVICEINFO
77{
78 char *pszName;
79 int (* pfnInit) (const VBOXSERVICEENV *pEnv, void **ppInstance, bool *pfStartThread);
80 unsigned (__stdcall * pfnThread) (void *pInstance);
81 void (* pfnDestroy) (const VBOXSERVICEENV *pEnv, void *pInstance);
82
83 /* Variables. */
84 HANDLE hThread;
85 void *pInstance;
86 bool fStarted;
87} VBOXSERVICEINFO;
88
89/* Globally unique (system wide) message registration. */
90typedef struct _VBOXGLOBALMESSAGE
91{
92 /** Message name. */
93 char *pszName;
94 /** Function pointer for handling the message. */
95 int (* pfnHandler) (WPARAM wParam, LPARAM lParam);
96
97 /* Variables. */
98
99 /** Message ID;
100 * to be filled in when registering the actual message. */
101 UINT uMsgID;
102} VBOXGLOBALMESSAGE, *PVBOXGLOBALMESSAGE;
103
104extern HWND gToolWindow;
105extern HINSTANCE gInstance;
106
107#endif /* !___VBOXTRAY_H */
108
Note: See TracBrowser for help on using the repository browser.

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