VBoxTrayMsg.h revision 4bca1461357775da282a478f5cdd38beb9f574b3
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync/* $Id$ */
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync/** @file
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * VBoxTrayMsg - Globally registered messages (RPC) to/from VBoxTray.
ee994aafbbf90369e5381e7c81b82a3462b32923vboxsync */
ee994aafbbf90369e5381e7c81b82a3462b32923vboxsync
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync/*
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * Copyright (C) 2010 Oracle Corporation
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync *
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
625c607af2ec5549c016c35f80cb8741eafd774bvboxsync * available from http://www.virtualbox.org. This file is free software;
625c607af2ec5549c016c35f80cb8741eafd774bvboxsync * you can redistribute it and/or modify it under the terms of the GNU
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * General Public License (GPL) as published by the Free Software
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync */
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync#ifndef ___VBOXTRAY_MSG_H
625c607af2ec5549c016c35f80cb8741eafd774bvboxsync#define ___VBOXTRAY_MSG_H
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync#define VBOXTRAY_PIPE_IPC "\\\\.\\pipe\\VBoxTrayIPC"
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync#define VBOXTRAY_PIPE_IPC_BUFSIZE 64 * 1024
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync
9562e2d410460d8fae06fa24297f172fee1d1995vboxsyncenum VBOXTRAYIPCMSGTYPE
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync{
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync /** Asks the IPC thread to quit. */
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync VBOXTRAYIPCMSGTYPE_QUIT = 10,
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync /** Restarts VBoxTray. */
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync VBOXTRAYIPCMSGTYPE_RESTART = 11,
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync /** Shows a balloon message in the tray area. */
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync VBOXTRAYIPCMSGTYPE_SHOWBALLOONMSG = 100
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync};
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync/* VBoxTray's IPC header. */
6728a36898fd2be125a28e84d2115d19aa4923edvboxsynctypedef struct _VBOXTRAYIPCHEADER
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync{
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync /** Message type. */
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync ULONG ulMsg;
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync /** Size of message body
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * (without this header). */
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync ULONG cbBody;
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync /** User-supplied wParam. */
625c607af2ec5549c016c35f80cb8741eafd774bvboxsync ULONG wParam;
625c607af2ec5549c016c35f80cb8741eafd774bvboxsync /** User-supplied lParam. */
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync ULONG lParam;
625c607af2ec5549c016c35f80cb8741eafd774bvboxsync} VBOXTRAYIPCHEADER, *PVBOXTRAYIPCHEADER;
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync
9562e2d410460d8fae06fa24297f172fee1d1995vboxsynctypedef struct _VBOXTRAYIPCMSG_SHOWBALLOONMSG
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync{
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync /** Message content. */
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync TCHAR szContent[256];
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync /** Message title. */
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync TCHAR szTitle[64];
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync /** Message type. */
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync ULONG ulType;
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync /** Flags; not used yet. */
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync ULONG ulFlags;
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync /** Time to show the message (in msec). */
625c607af2ec5549c016c35f80cb8741eafd774bvboxsync ULONG ulShowMS;
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync} VBOXTRAYIPCMSG_SHOWBALLOONMSG, *PVBOXTRAYIPCMSG_SHOWBALLOONMSG;
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync#endif /* !___VBOXTRAY_MSG_H */
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync