Partager via


IADsExtension Interface

L’interface IADsExtension est définie comme suit :

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;
    };

L’agrégateur (ADSI) appelle la méthode IADsExtension::Operate . L’extension doit interpréter le paramètre dwCode et chaque paramètre varData , conformément à la documentation du fournisseur.

L’agrégateur (ADSI) appelle la méthode IADsExtension::P rivateGetIDsOfNames . Il est appelé après qu’ADSI a déterminé l’extension pour traiter la répartition. L’extension peut utiliser les informations de type pour obtenir le DISPID, c’est-à-dire à l’aide de la fonction DispGetIDsOfNames .

ADSI appelle normalement la méthode PrivateInvoke après avoir appelé la fonction PrivateGetIDsOfNames . L’extension doit appeler la méthode réelle qu’elle implémente. L’extension peut également utiliser des informations de type et appeler la fonction DispInvoke .

Tous les paramètres ont la même signification que les paramètres de la méthode IDispatch::Invoke standard.