共用方式為


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 決定要服務分派的擴充功能之後呼叫。 擴充功能可以使用類型資訊來取得 DISPID,也就是使用 DispGetIDsOfNames 函 式。

ADSI 通常會在呼叫 PrivateGetIDsOfNames 函式之後呼叫 PrivateInvoke 方法。 延伸模組應該呼叫它實作的實際方法。 或者,擴充功能可以使用類型資訊並呼叫 DispInvoke 函式。

所有參數都與標準 IDispatch::Invoke 方法中的參數具有相同的意義。