VBoxGuestR3LibAdditions.cpp revision ae913ac9ffc89ee2a83992937b57f30e983185aa
0N/A * VBoxGuestR3Lib - Ring-3 Support Library for VirtualBox guest additions, Additions Info. 0N/A * Copyright (C) 2007-2011 Oracle Corporation 0N/A * This file is part of VirtualBox Open Source Edition (OSE), as 0N/A * you can redistribute it and/or modify it under the terms of the GNU 0N/A * General Public License (GPL) as published by the Free Software 0N/A * Foundation, in version 2 as it comes in the "COPYING" file of the 0N/A * VirtualBox OSE distribution. VirtualBox OSE is distributed in the 0N/A * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. 0N/A * The contents of this file may alternatively be used under the terms 0N/A * of the Common Development and Distribution License Version 1.0 1472N/A * (CDDL) only, as it comes in the "COPYING.CDDL" file of the 1472N/A * VirtualBox OSE distribution, in which case the provisions of the 1472N/A * CDDL are applicable instead of those of the GPL. 0N/A * You may elect to license modified versions of this file under the 0N/A * terms and conditions of either the GPL or the CDDL or both. 1879N/A/******************************************************************************* 1879N/A*******************************************************************************/ 0N/A * Fallback for VbglR3GetAdditionsVersion. 1915N/A * Looks up the storage path handle (registry). 0N/A * @returns IPRT status value 0N/A * @param hKey Receives pointer of allocated version string. NULL is 0N/A * accepted. The returned pointer must be closed by 0N/A * vbglR3CloseAdditionsWinStoragePath(). 0N/A * Try get the *installed* version first. 0N/A /* Check the built in vendor path first. */ 0N/A /* Check Wow6432Node. */ 0N/A /* Check the "Sun" path first. */ 0N/A /* Check Wow6432Node (for new entries). */ 0N/A /* Still no luck? Then try the old "Sun xVM" paths ... */ 0N/A /* Check Wow6432Node (for new entries). */ 0N/A * Closes the storage path handle (registry). 0N/A * @returns IPRT status value 0N/A * @param hKey Handle to close, retrieved by 0N/A * vbglR3QueryAdditionsWinStoragePath(). 0N/A#
endif /* RT_OS_WINDOWS */ 0N/A * Reports the Guest Additions status of a certain facility to the host. 0N/A * @returns IPRT status value 0N/A * @param enmFacility The facility to report the status on. 0N/A * @param enmStatus The new status of the facility. 0N/A * @param fReserved Reserved for future use (what?). 0N/A * Retrieves the installed Guest Additions version and/or revision. 0N/A * @returns IPRT status value 0N/A * @param ppszVer Receives pointer of allocated raw version string 0N/A * (major.minor.build). NULL is accepted. The returned 0N/A * pointer must be freed using RTStrFree().* 0N/A * @param ppszVerExt Receives pointer of allocated full version string 0N/A * (raw version + vendor suffix(es)). NULL is 0N/A * accepted. The returned pointer must be freed using 0N/A * @param ppszRev Receives pointer of allocated revision string. NULL is 0N/A * accepted. The returned pointer must be freed using 0N/A * Zap the return value up front. 605N/A /* Clean up allocated strings on error. */ 0N/A * No registry entries found, return the version string compiled 0N/A#
else /* !RT_OS_WINDOWS */ 0N/A * On non-Windows platforms just return the compile-time version string. 0N/A#
endif /* !RT_OS_WINDOWS */ 0N/A * Retrieves the installation path of Guest Additions. 0N/A * @returns IPRT status value 0N/A * @param ppszPath Receives pointer of allocated installation path string. 0N/A * The returned pointer must be freed using 0N/A /* Installation directory. */ 0N/A /** @todo implement me */