[ofw] RE: interface GUIDs and versioning

Sean Hefty sean.hefty at intel.com
Wed Jul 8 15:02:03 PDT 2009


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?




More information about the ofw mailing list