VirtualBox

root/trunk/include/VBox/com/com.h

Revision 13856, 2.9 kB (checked in by vboxsync, 2 months ago)

Main: typos

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 /** @file
2  * MS COM / XPCOM Abstraction Layer:
3  * COM initialization / shutdown
4  */
5
6 /*
7  * Copyright (C) 2006-2007 Sun Microsystems, Inc.
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  * The contents of this file may alternatively be used under the terms
18  * of the Common Development and Distribution License Version 1.0
19  * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
20  * VirtualBox OSE distribution, in which case the provisions of the
21  * CDDL are applicable instead of those of the GPL.
22  *
23  * You may elect to license modified versions of this file under the
24  * terms and conditions of either the GPL or the CDDL or both.
25  *
26  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
27  * Clara, CA 95054 USA or visit http://www.sun.com if you need
28  * additional information or have any questions.
29  */
30
31 #ifndef ___VBox_com_com_h
32 #define ___VBox_com_com_h
33
34 #include "VBox/com/defs.h"
35
36 namespace com
37 {
38
39 /**
40  *  Initializes the COM runtime.
41  *  Must be called on every thread that uses COM, before any COM activity.
42  *
43  *  @return COM result code
44  */
45 HRESULT Initialize();
46
47 /**
48  *  Shuts down the COM runtime.
49  *  Must be called on every thread before termination.
50  *  No COM calls may be made after this method returns.
51  */
52 HRESULT Shutdown();
53
54 /**
55  *  Resolves a given interface ID to a string containing the interface name.
56  *  If, for some reason, the given IID cannot be resolved to a name, a NULL
57  *  string is returned. A non-NULL string returned by this function must be
58  *  freed using SysFreeString().
59  *
60  *  @param aIID     ID of the interface to get a name for
61  *  @param aName    Resolved interface name or @c NULL on error
62  */
63 void GetInterfaceNameByIID (const GUID &aIID, BSTR *aName);
64
65 /**
66  *  Returns the VirtualBox user home directory.
67  *
68  *  On failure, this function will return a path that caused a failure (or
69  *  NULL if the failure is not path-related).
70  *
71  *  On success, this function will try to create the returned directory if it
72  *  doesn't exist yet. This may also fail with the corresponding status code.
73  *
74  *  If @a aDirLen is smaller than RTPATH_MAX then there is a great chance that
75  *  this method will return VERR_BUFFER_OVERFLOW.
76  *
77  *  @param aDir     Buffer to store the directory string in UTF-8 encoding.
78  *  @param aDirLen  Length of the supplied buffer including space for the
79  *                  terminating null character, in bytes.
80  *  @return         VBox status code.
81  */
82 int GetVBoxUserHomeDirectory (char *aDir, size_t aDirLen);
83
84 } /* namespace com */
85
86 #endif
87
Note: See TracBrowser for help on using the browser.

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy