[libvirt] Node.GetInfo error

arnaud.champion at devatom.fr arnaud.champion at devatom.fr
Sun Oct 31 09:01:42 UTC 2010


?Okay, the NodeInfo structure must be marshled in this way to make it works :

/// <summary>

/// Structure to handle node informations

/// </summary>

[StructLayout(LayoutKind.Sequential)]

public class NodeInfo

{

/// <summary>

/// String indicating the CPU model.

/// </summary>

[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]

public string model;

/// <summary>

/// Memory size in kilobytes

/// </summary>

[MarshalAs(UnmanagedType.SysUInt)]

public UIntPtr memory;

/// <summary>

/// The number of active CPUs.

/// </summary>

[MarshalAs(UnmanagedType.SysUInt)]

public UIntPtr cpus;

/// <summary>

/// Expected CPU frequency.

/// </summary>

[MarshalAs(UnmanagedType.SysUInt)]

public UIntPtr mhz;

/// <summary>

/// The number of NUMA cell, 1 for uniform mem access.

/// </summary>

[MarshalAs(UnmanagedType.SysUInt)]

public UIntPtr nodes;

/// <summary>

/// Number of CPU socket per node.

/// </summary>

[MarshalAs(UnmanagedType.SysUInt)]

public UIntPtr sockets;

/// <summary>

/// Number of core per socket.

/// </summary>

[MarshalAs(UnmanagedType.SysUInt)]

public UIntPtr cores;

/// <summary>

/// Number of threads per core.

/// </summary>

[MarshalAs(UnmanagedType.SysUInt)]

public UIntPtr threads;

}



I will put it in next patches.



Cheers,



Arnaud



From: arnaud.champion at devatom.fr 
Sent: Sunday, October 31, 2010 9:47 AM
To: 黄亮 
Cc: libvir-list at redhat.com 
Subject: Re: [libvirt] Node.GetInfo error


Ok,

at first GetLastError return an Error object. So you should anything like :

Errors.Error err = Errors.GetLastError();
MessageBox.Show(err.Message);

For the NodeInfo structure, I think the problem is the same that was for DomainInfo, I'll check marshaling. Then respond you with the correct infos.

Arnaud

PS : can you also put libvirt-list at redhat.com in copy of your mails, to keep everyone in the loop ?


From: 黄亮 
Sent: Sunday, October 31, 2010 8:20 AM
To: arnaud.champion 
Subject: Node.GetInfo error


Hi,

Sorry for disturbing again. But I get error while using Node.GetInfo.

Code:

NodeInfo aNodeInfo = new NodeInfo();
if (Node.GetInfo(con, aNodeInfo) < 0)
{
//MessageBox.Show("Node Info Error");
MessageBox.Show(Errors.GetLastError().ToString());
return 0f;
}

I'm sure con != IntPtr.Zero. I tried to use Errors.GetLastError(), it returns int. But I don't know what to do with it.
So, any suggestions ? Thanks 

Regards
2010-10-31 

--------------------------------------------------------------------------------

Lancer 


--------------------------------------------------------------------------------


--
libvir-list mailing list
libvir-list at redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20101031/66babb6c/attachment-0001.htm>


More information about the libvir-list mailing list