private static unsafe int DoUpdateObject(IntPtr aPtr, uint aVersion, char *aObjectID, char *aCurrentTagValue, char *aNewTagValue)
        {
            GCHandle gch = GCHandle.FromIntPtr(aPtr);
            DvServiceUpnpOrgContentDirectory1 self = (DvServiceUpnpOrgContentDirectory1)gch.Target;
            string objectID        = Marshal.PtrToStringAnsi((IntPtr)aObjectID);
            string currentTagValue = Marshal.PtrToStringAnsi((IntPtr)aCurrentTagValue);
            string newTagValue     = Marshal.PtrToStringAnsi((IntPtr)aNewTagValue);

            self.UpdateObject(aVersion, objectID, currentTagValue, newTagValue);
            return(0);
        }