]> xenbits.xensource.com Git - libvirt.git/commitdiff
vbox: Match struct layout of the MSCOM implementation on Windows
authorMatthias Bolte <matthias.bolte@googlemail.com>
Tue, 14 Dec 2010 19:02:49 +0000 (20:02 +0100)
committerMatthias Bolte <matthias.bolte@googlemail.com>
Fri, 17 Dec 2010 21:15:24 +0000 (22:15 +0100)
src/vbox/vbox_CAPI_v2_2.h
src/vbox/vbox_CAPI_v3_0.h
src/vbox/vbox_CAPI_v3_1.h
src/vbox/vbox_CAPI_v3_2.h

index 7a94ff502094cc5e28295c2e604008cf24c33850..0543fdd3440d76c7934471adc7c148b0442390a6 100644 (file)
@@ -1563,6 +1563,16 @@ struct IVirtualBox_vtbl
 {
     struct nsISupports_vtbl nsisupports;
 
+#  ifdef WIN32
+    /* The MSCOM implementation has some additional methods here.
+     * So add them here to get correct binary layout of the object.
+     * In API version 2.2 this affects IVirtualBox and ISession only. */
+    nsresult PR_COM_METHOD (*GetTypeInfoCount)(IVirtualBox *pThis);
+    nsresult PR_COM_METHOD (*GetTypeInfo)(IVirtualBox *pThis);
+    nsresult PR_COM_METHOD (*GetIDsOfNames)(IVirtualBox *pThis);
+    nsresult PR_COM_METHOD (*Invoke)(IVirtualBox *pThis);
+#  endif
+
     nsresult PR_COM_METHOD (*GetVersion)(IVirtualBox *pThis, PRUnichar * *version);
 
     nsresult PR_COM_METHOD (*GetRevision)(IVirtualBox *pThis, PRUint32 *revision);
@@ -4567,6 +4577,16 @@ struct ISession_vtbl
 {
     struct nsISupports_vtbl nsisupports;
 
+#  ifdef WIN32
+    /* The MSCOM implementation has some additional methods here.
+     * So add them here to get correct binary layout of the object.
+     * In API version 2.2 this affects IVirtualBox and ISession only. */
+    nsresult PR_COM_METHOD (*GetTypeInfoCount)(ISession *pThis);
+    nsresult PR_COM_METHOD (*GetTypeInfo)(ISession *pThis);
+    nsresult PR_COM_METHOD (*GetIDsOfNames)(ISession *pThis);
+    nsresult PR_COM_METHOD (*Invoke)(ISession *pThis);
+#  endif
+
     nsresult PR_COM_METHOD (*GetState)(ISession *pThis, PRUint32 *state);
 
     nsresult PR_COM_METHOD (*GetType)(ISession *pThis, PRUint32 *type);
index 4ff5f834b08fa2698ff044e1b8652751c51740a2..ed8b3dd0b1c4cac218450b17a6d782fd0f5cff05 100644 (file)
@@ -716,6 +716,15 @@ struct nsISupports_vtbl {
    */
   nsresult PR_COM_METHOD (*Release)(nsISupports *pThis);
 
+#  ifdef WIN32
+  /* The MSCOM implementation has some additional methods here.
+   * So add them here to get correct binary layout of the object.
+   * In API version 3.x this affects all types. */
+  nsresult PR_COM_METHOD (*GetTypeInfoCount)(nsISupports *pThis);
+  nsresult PR_COM_METHOD (*GetTypeInfo)(nsISupports *pThis);
+  nsresult PR_COM_METHOD (*GetIDsOfNames)(nsISupports *pThis);
+  nsresult PR_COM_METHOD (*Invoke)(nsISupports *pThis);
+#  endif
 };
 
 struct nsISupports {
index e8ae73d2b5410882be88084a046c1d5a3a14bc2a..1eb27c46c1f5352fd4706f66d2f2c59ebb0716e7 100644 (file)
@@ -716,6 +716,15 @@ struct nsISupports_vtbl {
    */
   nsresult PR_COM_METHOD (*Release)(nsISupports *pThis);
 
+#  ifdef WIN32
+  /* The MSCOM implementation has some additional methods here.
+   * So add them here to get correct binary layout of the object.
+   * In API version 3.x this affects all types. */
+  nsresult PR_COM_METHOD (*GetTypeInfoCount)(nsISupports *pThis);
+  nsresult PR_COM_METHOD (*GetTypeInfo)(nsISupports *pThis);
+  nsresult PR_COM_METHOD (*GetIDsOfNames)(nsISupports *pThis);
+  nsresult PR_COM_METHOD (*Invoke)(nsISupports *pThis);
+#  endif
 };
 
 struct nsISupports {
index b3333b110ae3cc8531a2c4781a96da1a83508e21..0fbe2e1d55ef0d9b238d4ffa85f36ea21061b443 100644 (file)
@@ -712,6 +712,15 @@ struct nsISupports_vtbl {
    */
   nsresult PR_COM_METHOD (*Release)(nsISupports *pThis);
 
+#  ifdef WIN32
+  /* The MSCOM implementation has some additional methods here.
+   * So add them here to get correct binary layout of the object.
+   * In API version 3.x this affects all types. */
+  nsresult PR_COM_METHOD (*GetTypeInfoCount)(nsISupports *pThis);
+  nsresult PR_COM_METHOD (*GetTypeInfo)(nsISupports *pThis);
+  nsresult PR_COM_METHOD (*GetIDsOfNames)(nsISupports *pThis);
+  nsresult PR_COM_METHOD (*Invoke)(nsISupports *pThis);
+#  endif
 };
 
 struct nsISupports {