private FilterInfo GetFilterInfo(libvlc_module_description_t item) { return(new FilterInfo() { Help = Marshal.PtrToStringAnsi(item.psz_help), Longname = Marshal.PtrToStringAnsi(item.psz_longname), Name = Marshal.PtrToStringAnsi(item.psz_name), Shortname = Marshal.PtrToStringAnsi(item.psz_shortname) }); }
/** * Convert a collection of native module description structures. * * @param moduleDescriptions module descriptions * @return collection of module descriptions */ private List <ModuleDescription> GetModuleDescriptions(IntPtr moduleDescriptions) { List <ModuleDescription> result = new List <ModuleDescription>(); IntPtr moduleDescriptionPointer = moduleDescriptions; while (moduleDescriptionPointer != IntPtr.Zero) { libvlc_module_description_t moduleDescription = (libvlc_module_description_t)Marshal.PtrToStructure(moduleDescriptionPointer, typeof(libvlc_module_description_t)); result.Add(new ModuleDescription(NativeString.String(moduleDescription.psz_name), NativeString.String(moduleDescription.psz_shortname), NativeString.String(moduleDescription.psz_longname), NativeString.String(moduleDescription.psz_help))); moduleDescriptionPointer = moduleDescription.p_next; } return(result); }