46 lines
1.5 KiB
C
46 lines
1.5 KiB
C
|
// DsctlObj.h : Declaration of the CDsctlObject
|
||
|
|
||
|
|
||
|
#include "resource.h" // main symbols
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// dsctl
|
||
|
|
||
|
//REVIEW -- using pointers to ID's is necessary because some compilers don't like
|
||
|
//references as template arguments.
|
||
|
|
||
|
class CDsctlObject :
|
||
|
public CComDualImpl<IDsctl, &IID_IDsctl, &LIBID_DSCTLLib>,
|
||
|
public ISupportErrorInfo,
|
||
|
public CComObjectRoot,
|
||
|
public CComCoClass<CDsctlObject, &CLSID_Dsctl>
|
||
|
{
|
||
|
public:
|
||
|
CDsctlObject() {}
|
||
|
BEGIN_COM_MAP(CDsctlObject)
|
||
|
COM_INTERFACE_ENTRY(IDispatch)
|
||
|
COM_INTERFACE_ENTRY(IDsctl)
|
||
|
COM_INTERFACE_ENTRY(ISupportErrorInfo)
|
||
|
END_COM_MAP()
|
||
|
// Use DECLARE_NOT_AGGREGATABLE(CDsctlObject) if you don't want your object
|
||
|
// to support aggregation
|
||
|
DECLARE_AGGREGATABLE(CDsctlObject)
|
||
|
// ISupportsErrorInfo
|
||
|
STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
|
||
|
|
||
|
DECLARE_REGISTRY(CDsctlObject, TEXT("ADS.Connector.1"),
|
||
|
TEXT("ADS.Connector.1"), IDS_DSCTL_DESC, THREADFLAGS_BOTH)
|
||
|
// IDsctl
|
||
|
public:
|
||
|
BSTR m_Path;
|
||
|
|
||
|
|
||
|
STDMETHOD (DSGetObject) (VARIANT ADsPath, VARIANT* retval);
|
||
|
STDMETHOD (DSGetEnum) (VARIANT ADsPath, VARIANT* retval);
|
||
|
STDMETHOD (DSEnumNext) (VARIANT Enum, VARIANT* retval);
|
||
|
STDMETHOD (DSIsContainer) (VARIANT ObjectPtr, VARIANT* retval);
|
||
|
STDMETHOD (DSGetLastError) (VARIANT* retval);
|
||
|
STDMETHOD (DSGetMemberEnum) (VARIANT ObjectPtr, VARIANT* retval);
|
||
|
STDMETHOD (DecodeURL) (VARIANT EncodedURL, VARIANT * retval);
|
||
|
};
|