private static unsafe int DoGetFeatureList(IntPtr aPtr, uint aVersion, char **aFeatureList)
        {
            GCHandle gch = GCHandle.FromIntPtr(aPtr);
            DvServiceUpnpOrgContentDirectory3 self = (DvServiceUpnpOrgContentDirectory3)gch.Target;
            string featureList;

            self.GetFeatureList(aVersion, out featureList);
            *aFeatureList = (char *)Marshal.StringToHGlobalAnsi(featureList).ToPointer();
            return(0);
        }