VirtualBox

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

Last change on this file since 80858 was 76563, checked in by vboxsync, 6 years ago

Additions: Use GA_INCLUDED_ and variations_ as header guard prefixes with scm.

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