VirtualBox

source: vbox/trunk/include/VBox/com/com.h@ 2976

Last change on this file since 2976 was 2976, checked in by vboxsync, 17 years ago

Main:

  • XPCOM: Implemented storing compreg.data and xpti.data in the VirtualBox home directory (defect #1947).
  • Cleaned up the COM/XPCOM layer API (removed tons of duplicate definitions and several pieces of duplcate code).
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.2 KB
Line 
1/** @file
2 *
3 * MS COM / XPCOM Abstraction Layer:
4 * COM initialization / shutdown
5 */
6
7/*
8 * Copyright (C) 2006 InnoTek Systemberatung GmbH
9 *
10 * This file is part of VirtualBox Open Source Edition (OSE), as
11 * available from http://www.virtualbox.org. This file is free software;
12 * you can redistribute it and/or modify it under the terms of the GNU
13 * General Public License as published by the Free Software Foundation,
14 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
15 * distribution. VirtualBox OSE is distributed in the hope that it will
16 * be useful, but WITHOUT ANY WARRANTY of any kind.
17 *
18 * If you received this file as part of a commercial VirtualBox
19 * distribution, then only the terms of your commercial VirtualBox
20 * license agreement apply instead of the previous paragraph.
21 */
22
23#ifndef __VBox_com_com_h__
24#define __VBox_com_com_h__
25
26#include "VBox/com/defs.h"
27#include "VBox/com/string.h"
28
29namespace com
30{
31
32/**
33 * Initializes the COM runtime.
34 * Must be called on every thread that uses COM, before any COM activity.
35 *
36 * @return COM result code
37 */
38HRESULT Initialize();
39
40/**
41 * Shuts down the COM runtime.
42 * Must be called on every thread before termination.
43 * No COM calls may be made after this method returns.
44 */
45HRESULT Shutdown();
46
47/**
48 * Resolves a given interface ID to a string containing the interface name.
49 * If, for some reason, the given IID cannot be resolved to a name, a NULL
50 * string is returned. A non-NULL string returned by this funciton must be
51 * freed using SysFreeString().
52 *
53 * @param aIID ID of the interface to get a name for
54 * @param aName Resolved interface name or @c NULL on error
55 */
56void GetInterfaceNameByIID (const GUID &aIID, BSTR *aName);
57
58/**
59 * Returns the VirtualBox user home directory.
60 *
61 * On failure, this function will return a path that caused a failure (or a
62 * null string if the faiulre is not path-related).
63 *
64 * On success, this function will try to create the returned directory if it
65 * doesn't exist yet. This may also fail with the corresponding status code.
66 *
67 * @param aDir Where to return the directory to.
68 * @return VBox status code.
69 */
70int GetVBoxUserHomeDirectory (Utf8Str &aDir);
71
72}; // namespace com
73
74#endif // __VBox_com_com_h__
75
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