Difference between CComPtr and CComQIPtr? |
Top Previous Next |
CComQIPtr is derived from CComPtr. QI stands for Query Interface. When you construct with a CComQIPtr it can result in nullptr., which means the cast has not worked. This is useful to check the type of the pointer. For example:
CComQIPtr<PartDocument> pPartDoc(pDoc) ; if (pPartDoc == nullptr) { // pDoc did not point to a PartDocument return (false) ; }
...and another example...
CComQIPtr<AssemblyDocument> pAsmDoc(pDoc); if (pAsmDoc == nullptr) { // pDoc did not point to an AssemblyDocument return (nullptr) ; }
. |
Text, images and diagrams © 2021 Owen F. Ransen. All rights reserved. (But copy the source code as much as you want!)