VBoxTray.h revision 74804912a237136f06d0b49682a119577135902b
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China/* $Id$ */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China/** @file
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * VBoxTray - Guest Additions Tray, Internal Header.
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China/*
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * Copyright (C) 2006-2007 Oracle Corporation
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China *
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * This file is part of VirtualBox Open Source Edition (OSE), as
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * available from http://www.virtualbox.org. This file is free software;
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * you can redistribute it and/or modify it under the terms of the GNU
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * General Public License (GPL) as published by the Free Software
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * Foundation, in version 2 as it comes in the "COPYING" file of the
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#ifndef ___VBOXTRAY_H
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#define ___VBOXTRAY_H
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#include <windows.h>
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#include <tchar.h>
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#include <stdio.h>
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#include <stdarg.h>
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#include <process.h>
0dc2366f7b9f9f36e10909b1e95edbf2a261c2acVenugopal Iyer
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#include <iprt/initterm.h>
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#include <iprt/string.h>
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#include <VBox/version.h>
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#include <VBox/Log.h>
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#include <VBox/VBoxGuest.h> /** @todo use the VbglR3 interface! */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#include <VBox/VBoxGuestLib.h>
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#include <VBoxDisplay.h>
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#include "VBoxDispIf.h"
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China/*
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * Windows messsages.
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China/**
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * General VBoxTray messages.
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#define WM_VBOXTRAY_TRAY_ICON WM_APP + 40
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#define WM_VBOXTRAY_TRAY_DISPLAY_BALLOON WM_APP + 41
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China/**
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * VM/VMMDev related messsages.
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#define WM_VBOXTRAY_VM_RESTORED WM_APP + 100
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China/**
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * VRDP messages.
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#define WM_VBOXTRAY_VRDP_CHECK WM_APP + 301
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China/**
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * Misc. utility functions.
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#define WM_VBOXTRAY_CHECK_HOSTVERSION WM_APP + 1000
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China/* The tray icon's ID. */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#define ID_TRAYICON 2000
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China/*
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China * Timer IDs.
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#define TIMERID_VBOXTRAY_CHECK_HOSTVERSION 1000
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China/* The environment information for services. */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing Chinatypedef struct _VBOXSERVICEENV
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China{
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China HINSTANCE hInstance;
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China HANDLE hDriver;
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China HANDLE hStopEvent;
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China /* display driver interface, XPDM - WDDM abstraction see VBOXDISPIF** definitions above */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China VBOXDISPIF dispIf;
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China} VBOXSERVICEENV;
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China/* The service initialization info and runtime variables. */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing Chinatypedef struct _VBOXSERVICEINFO
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China{
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China char *pszName;
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China int (* pfnInit) (const VBOXSERVICEENV *pEnv, void **ppInstance, bool *pfStartThread);
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China unsigned (__stdcall * pfnThread) (void *pInstance);
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China void (* pfnDestroy) (const VBOXSERVICEENV *pEnv, void *pInstance);
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China /* Variables. */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China HANDLE hThread;
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China void *pInstance;
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China bool fStarted;
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China} VBOXSERVICEINFO;
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing Chinaextern HWND gToolWindow;
dda0720a40a5b9892e9c96b39ff67c6f504656afjing xiong ERI-SUNextern HINSTANCE gInstance;
dda0720a40a5b9892e9c96b39ff67c6f504656afjing xiong ERI-SUN
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing Chinaextern void VBoxServiceReloadCursor(void);
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China#endif /* !___VBOXTRAY_H */
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China
9a5557fdd04be37785607871e8d4189e39490129lucy wang - Sun Microsystems - Beijing China