VirtualBox

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

Last change on this file since 69500 was 69500, checked in by vboxsync, 7 years ago

*: scm --update-copyright-year

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.0 KB
Line 
1/* $Id: VBoxTrayMsg.h 69500 2017-10-28 15:14:05Z vboxsync $ */
2/** @file
3 * VBoxTrayMsg - Globally registered messages (RPC) to/from VBoxTray.
4 */
5
6/*
7 * Copyright (C) 2010-2017 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_MSG_H
19#define ___VBOXTRAY_MSG_H
20
21/** The IPC pipe's prefix (native).
22 * Will be followed by the username VBoxTray runs under. */
23#define VBOXTRAY_IPC_PIPE_PREFIX "\\\\.\\pipe\\VBoxTrayIPC-"
24/** The IPC header's magic. */
25#define VBOXTRAY_IPC_HDR_MAGIC 0x19840804
26
27enum VBOXTRAYIPCMSGTYPE
28{
29 /** Restarts VBoxTray. */
30 VBOXTRAYIPCMSGTYPE_RESTART = 10,
31 /** Shows a balloon message in the tray area. */
32 VBOXTRAYIPCMSGTYPE_SHOWBALLOONMSG = 100,
33 /** Retrieves the current user's last input
34 * time. This will be the user VBoxTray is running
35 * under. No actual message for this command
36 * required. */
37 VBOXTRAYIPCMSGTYPE_USERLASTINPUT = 120
38};
39
40/* VBoxTray's IPC header. */
41typedef struct VBOXTRAYIPCHEADER
42{
43 /** The header's magic. */
44 uint32_t uMagic;
45 /** Header version, must be 0 by now. */
46 uint32_t uHdrVersion;
47 /** Message type. Specifies a message
48 * of VBOXTRAYIPCMSGTYPE. */
49 uint32_t uMsgType;
50 /** Message length (in bytes). This must
51 * include the overall message length, including
52 * (eventual) dynamically allocated areas which
53 * are passed into the message structure.
54 */
55 uint32_t uMsgLen;
56
57} VBOXTRAYIPCHEADER, *PVBOXTRAYIPCHEADER;
58
59/**
60 * Tells VBoxTray to show a balloon message in Windows'
61 * tray area. This may or may not work depending on the
62 * system's configuration / set user preference.
63 */
64typedef struct VBOXTRAYIPCMSG_SHOWBALLOONMSG
65{
66 /** Length of message body (in bytes). */
67 uint32_t cbMsgContent;
68 /** Length of message title (in bytes). */
69 uint32_t cbMsgTitle;
70 /** Message type. */
71 uint32_t uType;
72 /** Time to show the message (in ms). */
73 uint32_t uShowMS;
74 /** Dynamically allocated stuff.
75 *
76 * Note: These must come at the end of the
77 * structure to not overwrite any important
78 * stuff above.
79 */
80 /** Message body. Can be up to 256 chars
81 * long. */
82 char szMsgContent[1];
83 /** Message title. Can be up to 73 chars
84 * long. */
85 char szMsgTitle[1];
86} VBOXTRAYIPCMSG_SHOWBALLOONMSG, *PVBOXTRAYIPCMSG_SHOWBALLOONMSG;
87
88/**
89 * Response telling the last input of the current user.
90 */
91typedef struct VBOXTRAYIPCRES_USERLASTINPUT
92{
93 /** Last occurred user input event (in seconds). */
94 uint32_t uLastInput;
95} VBOXTRAYIPCRES_USERLASTINPUT, *PVBOXTRAYIPCRES_USERLASTINPUT;
96
97#endif /* !___VBOXTRAY_MSG_H */
98
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