Lines 4 and 5: |
Checks to see if the caller (usually the client) is asking for a pointer to IMyComInterface or IUnknown . All COM interfaces must support navigation to IUnknown as well as all other interfaces within the object. If a match is found, the ppv output parameter is assigned to the this pointer using a cast to (IMyComInterface *) .
|
Line 9:
|
Checks to see if the caller wants an interface pointer to IYourComInterface . If a match is found, the ppv output parameter is assigned to the this pointer with a cast to (IYourComInterface *) .
|
Line 13: |
Returns error code E_NOINTERFACE to tell the caller that the COM object does not implement the requested interface. |
Line 15: |
Calls AddRef through the previously assigned ppv output parameter. This is a requirement! In COM, every time we provide an interface pointer to a caller, we must increment its reference count. Lesson 12 discusses AddRef , Release , and reference counting in more detail.
|
Line 16: |
Returns S_OK to indicate a successful call. |