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 :: PrivateGetIDsOfNamesメソッド。 ADSIディスパッチをサービスする拡張機能を決定した後に呼び出されます。 拡張機能を使用して、DISPIDを取得するための型情報を使用できます、DispGetIDsOfNames関数。
通常、ADSI呼び出し、PrivateInvokeメソッドを呼び出した後、 PrivateGetIDsOfNames関数。 拡張機能は、実装する実際のメソッドを呼び出す必要があります。 または、拡張機能は、型情報を使用して、DispInvoke関数を呼び出すことができます。
すべてのパラメーターは、標準のIDispatch :: Invokeメソッドのパラメーターと同じ意味を持ちます。