SECIDataObjectImpl Class
template <class TPidlMgr>
class SECIDataObjectImpl: public IDataObject
SECIDataObjectImpl
Defined in: SECIDataObjectImpl.h
Comments
This class is a thin wrapper class of IDataObject interface. It only implemented the methods in the IUnknown interface and the reference counting logic. It can only be used in an ATL base project. Since its reference counting makes use of the lock count in CComModule class of ATL, i.e. a global CComModule instanace _Module. The template argument is an PIDL management class derived from SECPidlMgr lt; T gt; template class. This implementation is majorly targeted for namespace or shell extension. To use this class, you can derive from it and provide sensible implementation for all the methods of IDataObject other than that of IUnknown interface. The constructor need two arguments, a window handle and a PIDL. The window handle is usually the owner window of this interface. The constructor will save the window handle and make a copy of the PIDL.
For a complete documentation of IDataObject, please refer to windows SDK or MSDN from Microsoft.
Class Template Arguments
TPidlMgr
A SECPidlMgr derived class
Class Members
HWND m_hwndOwner
Window handle of the owner of this interface
LPITEMIDLIST m_pPidl
PIDL of the item this inteface attached to
TPidlMgr* m_pPidlMgr
A pointer to PIDL manager
SECIDataObjectImpl(HWND hwndOwner, LPCITEMIDLIST pidl)
Constructor