> -----Original Message----- > From: [email protected] [mailto:ofw- > [email protected]] On Behalf Of Sean Hefty > Sent: Wednesday, July 08, 2009 3:02 PM > To: Hefty, Sean; [email protected] > Subject: [ofw] RE: interface GUIDs and versioning > > Resending to see if anyone has any comments. > >>> #define INTERFACE IWVQueuePair -// >>> {a847c13c-e617-489c-b0ab-2da73eb0adfd} -DEFINE_GUID(IID_IWVQueuePair, >>> 0xa847c13c, 0xe617, 0x489c, - 0xb0, 0xab, 0x2d, >>> 0xa7, 0x3e, 0xb0, 0xad, 0xfd); +// >>> {35C64226-6A1F-4c8d-9465-C6FEE8053CDD} +DEFINE_GUID(IID_IWVQueuePair, >>> 0x35c64226, 0x6a1f, 0x4c8d, + 0x94, 0x65, 0xc6, >>> 0xfe, 0xe8, 0x5, 0x3c, +0xdd); >>> >>> DECLARE_INTERFACE_(IWVQueuePair, IWVOverlapped) { @@ -802,9 +802,9 >>> @@ DECLARE_INTERFACE_(IWVQueuePair, IWVOver >>> >>> #undef INTERFACE #define INTERFACE IWVConnectQueuePair -// >>> {A791309C-4244-4194-AD63-7D372CADE5E0} >>> -DEFINE_GUID(IID_IWVConnectQueuePair, 0xa791309c, 0x4244, 0x4194, - >>> 0xad, 0x63, 0x7d, 0x37, 0x2c, 0xad, 0xe5, 0xe0); +// >>> {DF905570-AEEB-4114-B30E-4DC3EB5A9AD6} >>> +DEFINE_GUID(IID_IWVConnectQueuePair, 0xdf905570, 0xaeeb, 0x4114, + >>> 0xb3, 0xe, 0x4d, 0xc3, 0xeb, 0x5a, 0x9a, +0xd6); >> It's not clear to me the best way to handle interface changes after >> release. In this case, the QP interfaces changed, so I updated their >> GUIDs. But it seems like the WvProvider interface GUID basically >> controls the default interfaces that a user sees. It's the only GUID >> that a user will typically access directly. As an example, a user >> calls: >> >> WvGetObject(IID_WvProvider...); >> provider->OpenDevice(... IWVDevice *dev); >> >> The user doesn't specify which version of the IWVDevice interface >> that's wanted. >> >> Should users always call QueryInterface to ensure that they have the >> correct interface, or should the interface GUIDs be input into any >> calls that return an interface? Thoughts anyone? > > How will ND handle this?
What we did when we changed some interfaces was change the GUID of any parent object that would return a changed interface. So in your case, the IWVDevice and IWVProvider interfaces would change too. -Fab _______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
