public List <Domain> GetDomains(virConnectListAllDomainsFlags flags = default) { int result = Libvirt.virConnectListAllDomains(_conn, out IntPtr ptrDomains, flags); ThrowExceptionOnError(result); List <Domain> domains = new List <Domain>(); for (int i = 0; i < result; i++) { IntPtr ptrDomain = Marshal.ReadIntPtr(ptrDomains, i * IntPtr.Size); domains.Add(new Domain(_conn, ptrDomain)); } Libvirt.virFree(ptrDomains); return(domains); }
public static extern int virConnectListAllDomains(IntPtr conn, [Out] out IntPtr domains, virConnectListAllDomainsFlags flags);
public Libvirt_Pinvoke.CS_Objects.Container.LibvirtContainer <Domain> virConnectListAllDomains(virConnectListAllDomainsFlags flags) { Domain[] domains; Libvirt.virDomainPtr[] ds; var ret = API.virConnectListAllDomains(_ConnectPtr, out ds, flags); if (ret > -1) { domains = new Domain[ds.Length]; for (var i = 0; i < ds.Length; i++) { domains[i] = new Domain(ds[i]); } } else { domains = new Domain[0]; } return(new Libvirt_Pinvoke.CS_Objects.Container.LibvirtContainer <Domain>(domains)); }
public Libvirt_Pinvoke.CS_Objects.Container.LibvirtContainer<Domain> virConnectListAllDomains(virConnectListAllDomainsFlags flags) { Domain[] domains; Libvirt.virDomainPtr[] ds; var ret = API.virConnectListAllDomains(_ConnectPtr, out ds, flags); if (ret > -1) { domains = new Domain[ds.Length]; for (var i = 0; i < ds.Length; i++) { domains[i] = new Domain(ds[i]); } } else domains = new Domain[0]; return new Libvirt_Pinvoke.CS_Objects.Container.LibvirtContainer<Domain>(domains); }