다음을 통해 공유


IADsExtension 인터페이스

IADsExtension 인터페이스는 다음과 같이 정의됩니다.

IADsExtension : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Operate( 
            /* [in] */ DWORD dwCode,
            /* [in] */ VARIANT varData1,
            /* [in] */ VARIANT varData2,
            /* [in] */ VARIANT varData3) = 0;
 
        virtual HRESULT STDMETHODCALLTYPE PrivateGetIDsOfNames( 
            /* [in] */ REFIID riid,
            /* [in] */ OLECHAR **rgszNames,
            /* [in] */ unsigned int cNames,
            /* [in] */ LCID lcid,
            /* [out] */ DISPID *rgDispid) = 0;
 
        virtual HRESULT STDMETHODCALLTYPE PrivateInvoke( 
            /* [in] */ DISPID dispidMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [in] */ DISPPARAMS *pdispparams,
            /* [out] */ VARIANT *pvarResult,
            /* [out] */ EXCEPINFO *pexcepinfo,
            /* [out] */ unsigned int *puArgErr) = 0;
    };

ADSI(집계기)는 IADsExtension::Operate 메서드를 호출합니다. 확장은 공급자의 설명서에 따라 dwCode 매개 변수와 각 varData 매개 변수를 해석해야 합니다.

ADSI(집계기)는 IADsExtension::P rivateGetIDsOfNames 메서드를 호출합니다 . ADSI가 디스패치를 서비스할 확장을 결정한 후에 호출됩니다. 확장은 DispGetIDsOfNames 함수를 사용하여 DISPID 를 가져오는 데 형식 정보를 사용할 수 있습니다.

ADSI는 일반적으로 PrivateGetIDsOfNames 함수를 호출한 후 PrivateInvoke 메서드를 호출합니다. 확장은 구현하는 실제 메서드를 호출해야 합니다. 또는 확장에서 형식 정보를 사용하고 DispInvoke 함수를 호출할 수 있습니다.

모든 매개 변수는 표준 IDispatch::Invoke 메서드의 매개 변수와 동일한 의미를 갖습니다.