diff options
Diffstat (limited to 'src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestProp.cpp')
-rw-r--r-- | src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestProp.cpp | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestProp.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestProp.cpp index 32c7d796..48539199 100644 --- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestProp.cpp +++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestProp.cpp @@ -4,7 +4,7 @@ */ /* - * Copyright (C) 2007 Oracle Corporation + * Copyright (C) 2007-2013 Oracle Corporation * * This file is part of VirtualBox Open Source Edition (OSE), as * available from http://www.virtualbox.org. This file is free software; @@ -783,6 +783,32 @@ VBGLR3DECL(void) VbglR3GuestPropEnumFree(PVBGLR3GUESTPROPENUM pHandle) /** + * Deletes a guest property. + * + * @returns VBox status code. + * @param u32ClientId The client id returned by VbglR3InvsSvcConnect(). + * @param pszName The property to delete. Utf8 + */ +VBGLR3DECL(int) VbglR3GuestPropDelete(uint32_t u32ClientId, const char *pszName) +{ + AssertPtrReturn(pszName, VERR_INVALID_POINTER); + + DelProperty Msg; + + Msg.hdr.result = VERR_WRONG_ORDER; + Msg.hdr.u32ClientID = u32ClientId; + Msg.hdr.u32Function = DEL_PROP; + Msg.hdr.cParms = 1; + VbglHGCMParmPtrSetString(&Msg.name, pszName); + int rc = vbglR3DoIOCtl(VBOXGUEST_IOCTL_HGCM_CALL(sizeof(Msg)), &Msg, sizeof(Msg)); + if (RT_SUCCESS(rc)) + rc = Msg.hdr.result; + + return rc; +} + + +/** * Deletes a set of keys. * * The set is specified in the same way as for VbglR3GuestPropEnum. |