Hi,
I have finally find the problem with examples on mono
compiled in 64 bits. The problem was the "ToInt32" method of an IntPtr which
failed on mono 64 bits (have to use ToInt64 instead).
This path solve this problem.
Also, I have put marshaling complexity of the
ConnectOpenAuth callback in bindings, this make the callback of ConnectOpenAuth
more simple to achieve the authentification. In the example, the callback is
treated like this :
private static int AuthCallback(ref ConnectCredential[]
creds, IntPtr cbdata)
{ AuthData authData = (AuthData)Marshal.PtrToStructure(cbdata, typeof(AuthData)); foreach (ConnectCredential cred in creds) { switch (cred.type) { case ConnectCredentialType.VIR_CRED_AUTHNAME: // Fill the user name cred.Result = authData.user_name; break; case ConnectCredentialType.VIR_CRED_PASSPHRASE: // Fill the password cred.Result = authData.password; break; default: return -1; } } return 0; } The bindings user has no marshaling to do, and believe
me, it's simpler.
Finally, this patch finalize renaming.
Best regards,
Arnaud Champion
|
Attachment:
0001-Make-examples-work-with-mono-compiled-in-64bits-simp.patch
Description: Binary data
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list