CGENOBJ.H
/*++ 
 
Copyright (c) 1996 Microsoft Corporation 
 
Module Name: 
 
    CGenObj.h 
 
Abstract: 
 
Author: 
 
Environment: 
 
    User mode 
 
Revision History : 
 
--*/ 
#ifndef _CGENOBJ_H_ 
#define _CGENOBJ_H_ 
 
class CSampleDSGenObject; 
 
 
class CSampleDSGenObject : INHERIT_TRACKING, 
                     public CCoreADsObject, 
                     public IADs, 
                     public IADsContainer 
{ 
public: 
 
    /* IUnknown methods */ 
    STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ; 
 
    DECLARE_STD_REFCOUNTING 
 
    DECLARE_IDispatch_METHODS 
 
    DECLARE_IADs_METHODS 
 
    DECLARE_IADsContainer_METHODS 
 
    CSampleDSGenObject::CSampleDSGenObject(); 
 
    CSampleDSGenObject::~CSampleDSGenObject(); 
 
    static 
    HRESULT 
    CSampleDSGenObject::CreateGenericObject( 
        BSTR bstrADsPath, 
        DWORD dwObjectState, 
        REFIID riid, 
        void **ppvObj 
        ); 
 
    static 
    HRESULT 
    CSampleDSGenObject::CreateGenericObject( 
        BSTR Parent, 
        BSTR CommonName, 
        BSTR ClassName, 
        DWORD dwObjectState, 
        REFIID riid, 
        void **ppvObj 
        ); 
 
    static 
    HRESULT 
    CSampleDSGenObject::AllocateGenObject( 
        CSampleDSGenObject ** ppGenObject 
        ); 
 
    STDMETHOD(GetInfo)( 
        BOOL fExplicit 
        ); 
 
 
    HRESULT 
    CSampleDSGenObject::SampleDSSetObject(); 
     
    HRESULT 
    CSampleDSGenObject::SampleDSCreateObject(); 
     
    protected: 
     
        VARIANT     _vFilter; 
        CPropertyCache FAR * _pPropertyCache; 
        CDispatchMgr FAR * _pDispMgr; 
}; 
 
HRESULT 
ConvertSafeArrayToVariantArray( 
    VARIANT varSafeArray, 
    VARIANT ** ppVarArray, 
    PDWORD pdwNumVariants 
    ); 
#endif