⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oaidl.idl

📁 vc6.0完整版
💻 IDL
📖 第 1 页 / 共 4 页
字号:
[
    object,
    uuid(00020400-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IDispatch : IUnknown
{
    typedef [unique] IDispatch * LPDISPATCH;

    HRESULT GetTypeInfoCount(
                [out] UINT * pctinfo
            );

    HRESULT GetTypeInfo(
                [in] UINT iTInfo,
                [in] LCID lcid,
                [out] ITypeInfo ** ppTInfo
            );

    HRESULT GetIDsOfNames(
                [in] REFIID riid,
                [in, size_is(cNames)] LPOLESTR * rgszNames,
                [in] UINT cNames,
                [in] LCID lcid,
                [out, size_is(cNames)] DISPID * rgDispId
            );

    [local]
    HRESULT Invoke(
                [in] DISPID dispIdMember,
                [in] REFIID riid,
                [in] LCID lcid,
                [in] WORD wFlags,
                [in, out] DISPPARAMS * pDispParams,
                [out] VARIANT * pVarResult,
                [out] EXCEPINFO * pExcepInfo,
                [out] UINT * puArgErr
            );

    [call_as(Invoke)]
    HRESULT RemoteInvoke(
                [in] DISPID dispIdMember,
                [in] REFIID riid,
                [in] LCID lcid,
                [in] DWORD dwFlags,
                [in] DISPPARAMS * pDispParams,
                [out] VARIANT * pVarResult,
                [out] EXCEPINFO * pExcepInfo,
                [out] UINT * pArgErr,
                [in] UINT cVarRef,
                [in, size_is(cVarRef)] UINT * rgVarRefIdx, 
                [in, out, size_is(cVarRef)] VARIANTARG * rgVarRef
            );

cpp_quote("/* DISPID reserved to indicate an \"unknown\" name */")
cpp_quote("/* only reserved for data members (properties); reused as a method dispid below */")
const DISPID DISPID_UNKNOWN = -1;

cpp_quote("/* DISPID reserved for the \"value\" property */")
const DISPID DISPID_VALUE = 0;

cpp_quote("/* The following DISPID is reserved to indicate the param")
cpp_quote(" * that is the right-hand-side (or \"put\" value) of a PropertyPut")
cpp_quote(" */")
const DISPID DISPID_PROPERTYPUT = -3;

cpp_quote("/* DISPID reserved for the standard \"NewEnum\" method */")
const DISPID DISPID_NEWENUM = -4;

cpp_quote("/* DISPID reserved for the standard \"Evaluate\" method */")
const DISPID DISPID_EVALUATE = -5;

const DISPID DISPID_CONSTRUCTOR = -6;

const DISPID DISPID_DESTRUCTOR = -7;

const DISPID DISPID_COLLECT = -8;

cpp_quote("/* The range -500 through -999 is reserved for Controls */")
cpp_quote("/* The range 0x80010000 through 0x8001FFFF is reserved for Controls */")
cpp_quote("/* The range -5000 through -5499 is reserved for ActiveX Accessability */")
cpp_quote("/* The range -2000 through -2499 is reserved for VB5 */")
cpp_quote("/* The range -3900 through -3999 is reserved for Forms */")
cpp_quote("/* The range -5500 through -5550 is reserved for Forms */")
cpp_quote("/* The remainder of the negative DISPIDs are reserved for future use */")

}


[
    object,
    uuid(00020404-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IEnumVARIANT : IUnknown
{
    typedef [unique] IEnumVARIANT* LPENUMVARIANT;

    [local]
    HRESULT Next(
                [in] ULONG celt,
                [out, size_is(celt), length_is(*pCeltFetched)] VARIANT * rgVar,
                [out] ULONG * pCeltFetched
            );

    [call_as(Next)]
    HRESULT RemoteNext(
                [in] ULONG celt,
                [out, size_is(celt), length_is(*pCeltFetched)] VARIANT * rgVar,
                [out] ULONG * pCeltFetched
            );

    HRESULT Skip(
                [in] ULONG celt
            );

    HRESULT Reset(
            );

    HRESULT Clone(
                [out] IEnumVARIANT ** ppEnum
            );
}


[
    object,
    uuid(00020403-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface ITypeComp : IUnknown
{
    typedef [unique] ITypeComp * LPTYPECOMP;

    typedef [v1_enum] enum tagDESCKIND {
        DESCKIND_NONE = 0,
        DESCKIND_FUNCDESC,
        DESCKIND_VARDESC,
        DESCKIND_TYPECOMP,
        DESCKIND_IMPLICITAPPOBJ,
        DESCKIND_MAX
    } DESCKIND;

    typedef union tagBINDPTR {
        FUNCDESC  * lpfuncdesc;
        VARDESC   * lpvardesc;
        ITypeComp * lptcomp;
    } BINDPTR, * LPBINDPTR;

    [local]
    HRESULT Bind(
                [in] LPOLESTR szName,
                [in] ULONG lHashVal,
                [in] WORD wFlags,
                [out] ITypeInfo ** ppTInfo,
                [out] DESCKIND * pDescKind,
                [out] BINDPTR * pBindPtr
            );

    [call_as(Bind)]
    HRESULT RemoteBind(
                [in] LPOLESTR szName,
                [in] ULONG lHashVal,
                [in] WORD wFlags,
                [out] ITypeInfo ** ppTInfo,
                [out] DESCKIND * pDescKind,
                [out] LPFUNCDESC * ppFuncDesc,
                [out] LPVARDESC * ppVarDesc,
                [out] ITypeComp ** ppTypeComp,
                [out] CLEANLOCALSTORAGE * pDummy
            );

    [local]
    HRESULT BindType(
                [in] LPOLESTR szName,
                [in] ULONG lHashVal,
                [out] ITypeInfo ** ppTInfo,
                [out] ITypeComp ** ppTComp
            );

    [call_as(BindType)]
    HRESULT RemoteBindType(
                [in] LPOLESTR szName,
                [in] ULONG lHashVal,
                [out] ITypeInfo ** ppTInfo
            );
}


[
    object,
    uuid(00020401-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface ITypeInfo : IUnknown
{
    typedef [unique] ITypeInfo * LPTYPEINFO;

    [local]
    HRESULT GetTypeAttr(
                [out] TYPEATTR ** ppTypeAttr
            );

    [call_as(GetTypeAttr)]
    HRESULT RemoteGetTypeAttr(
                [out] LPTYPEATTR * ppTypeAttr,
                [out] CLEANLOCALSTORAGE * pDummy
            );

    HRESULT GetTypeComp(
                [out] ITypeComp ** ppTComp
            );

    [local]
    HRESULT GetFuncDesc(
                [in] UINT index,
                [out] FUNCDESC ** ppFuncDesc
            );

    [call_as(GetFuncDesc)]
    HRESULT RemoteGetFuncDesc(
                [in] UINT index,
                [out] LPFUNCDESC * ppFuncDesc,
                [out] CLEANLOCALSTORAGE * pDummy
            );

    [local]
    HRESULT GetVarDesc(
                [in] UINT index,
                [out] VARDESC ** ppVarDesc
            );

    [call_as(GetVarDesc)]
    HRESULT RemoteGetVarDesc(
                [in] UINT index,
                [out] LPVARDESC * ppVarDesc,
                [out] CLEANLOCALSTORAGE * pDummy
            );

    [local]
    HRESULT GetNames(
                [in] MEMBERID memid,
                [out,size_is(cMaxNames),length_is(*pcNames)] BSTR * rgBstrNames,
                [in] UINT cMaxNames,
                [out] UINT * pcNames
            );

    [call_as(GetNames)]
    HRESULT RemoteGetNames(
                [in] MEMBERID memid,
                [out,size_is(cMaxNames),length_is(*pcNames)] BSTR * rgBstrNames,
                [in] UINT cMaxNames,
                [out] UINT * pcNames
            );

    HRESULT GetRefTypeOfImplType(
                [in] UINT index,
                [out] HREFTYPE * pRefType
            );

    HRESULT GetImplTypeFlags(
                [in] UINT index,
                [out] INT * pImplTypeFlags
            );

    [local]
    HRESULT GetIDsOfNames(
                [in, size_is(cNames)] LPOLESTR * rgszNames,
                [in] UINT cNames,
                [out, size_is(cNames)] MEMBERID * pMemId
            );

    [call_as(GetIDsOfNames)]
    HRESULT LocalGetIDsOfNames(
                void
            );

    [local]
    HRESULT Invoke(
                [in] PVOID pvInstance,
                [in] MEMBERID memid,
                [in] WORD wFlags,
                [in, out] DISPPARAMS * pDispParams,
                [out] VARIANT * pVarResult,
                [out] EXCEPINFO * pExcepInfo,
                [out] UINT * puArgErr
            );

    [call_as(Invoke)]
    HRESULT LocalInvoke (
                void
            );

    [local]
    HRESULT GetDocumentation(
                [in] MEMBERID memid,
                [out] BSTR * pBstrName,
                [out] BSTR * pBstrDocString,
                [out] DWORD * pdwHelpContext,
                [out] BSTR * pBstrHelpFile
            );

    [call_as(GetDocumentation)]
    HRESULT RemoteGetDocumentation(
                [in] MEMBERID memid,
                [in] DWORD refPtrFlags,
                [out] BSTR * pBstrName,
                [out] BSTR * pBstrDocString,
                [out] DWORD * pdwHelpContext,
                [out] BSTR * pBstrHelpFile
            );

    [local]
    HRESULT GetDllEntry(
                [in] MEMBERID memid,
                [in] INVOKEKIND invKind,
                [out] BSTR * pBstrDllName,
                [out] BSTR * pBstrName,
                [out] WORD * pwOrdinal
            );

    [call_as(GetDllEntry)]
    HRESULT RemoteGetDllEntry(
                [in] MEMBERID memid,
                [in] INVOKEKIND invKind,
                [in] DWORD refPtrFlags,
                [out] BSTR * pBstrDllName,
                [out] BSTR * pBstrName,
                [out] WORD * pwOrdinal
            );

    HRESULT GetRefTypeInfo(
                [in] HREFTYPE hRefType,
                [out] ITypeInfo ** ppTInfo
            );

    [local]
    HRESULT AddressOfMember(
                [in] MEMBERID memid,
                [in] INVOKEKIND invKind,
                [out] PVOID * ppv
            );

    [call_as(AddressOfMember)]
    HRESULT LocalAddressOfMember(
                void
            );

    [local]
    HRESULT CreateInstance(
                [in] IUnknown * pUnkOuter,
                [in] REFIID riid,
                [out, iid_is(riid)] PVOID * ppvObj
            );

    [call_as(CreateInstance)]
    HRESULT RemoteCreateInstance(
                [in] REFIID riid,
                [out, iid_is(riid)] IUnknown ** ppvObj
            );

    HRESULT GetMops(
                [in] MEMBERID memid,
                [out] BSTR * pBstrMops
            );

    [local]
    HRESULT GetContainingTypeLib(
                [out] ITypeLib ** ppTLib,
                [out] UINT * pIndex
            );

    [call_as(GetContainingTypeLib)]
    HRESULT RemoteGetContainingTypeLib(
                [out] ITypeLib ** ppTLib,
                [out] UINT * pIndex
            );

    [local]
    void ReleaseTypeAttr(
                [in] TYPEATTR * pTypeAttr
            );

    [call_as(ReleaseTypeAttr)]
    HRESULT LocalReleaseTypeAttr(
                void
            );

    [local]
    void ReleaseFuncDesc(
                [in] FUNCDESC * pFuncDesc
            );

    [call_as(ReleaseFuncDesc)]
    HRESULT LocalReleaseFuncDesc(
                void
            );

    [local]
    void ReleaseVarDesc(
                [in] VARDESC * pVarDesc
            );

    [call_as(ReleaseVarDesc)]
    HRESULT LocalReleaseVarDesc(
                void
            );
}



[
    object,
    uuid(00020412-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface ITypeInfo2 : ITypeInfo
{
    typedef [unique] ITypeInfo2 * LPTYPEINFO2;

    HRESULT GetTypeKind(
                [out] TYPEKIND * pTypeKind
            );

    HRESULT GetTypeFlags(
                [out] ULONG * pTypeFlags
            );

    HRESULT GetFuncIndexOfMemId(
                [in] MEMBERID memid, 
                [in] INVOKEKIND invKind, 
                [out] UINT * pFuncIndex
            );

    HRESULT GetVarIndexOfMemId(
                [in] MEMBERID memid, 
                [out] UINT * pVarIndex
            );

    HRESULT GetCustData(
                [in] REFGUID guid,
                [out] VARIANT * pVarVal
            );
    
    HRESULT GetFuncCustData(
                [in] UINT index, 
                [in] REFGUID guid, 
                [out] VARIANT * pVarVal
            );
    
    HRESULT GetParamCustData(
                [in] UINT indexFunc, 
                [in] UINT indexParam, 
                [in] REFGUID guid, 
                [out] VARIANT * pVarVal
            );

    HRESULT GetVarCustData(
                [in] UINT index, 
                [in] REFGUID guid, 
                [out] VARIANT * pVarVal
            );

    HRESULT GetImplTypeCustData(
                [in] UINT index, 
                [in] REFGUID guid, 
                [out] VARIANT * pVarVal
            );

    [local]
    HRESULT GetDocumentation2(
                [in] MEMBERID memid,
                [in] LCID lcid,
                [out] BSTR *pbstrHelpString,
                [out] DWORD *pdwHelpStringContext,
                [out] BSTR *pbstrHelpStringDll
            );

    [call_as(GetDocumentation2)]
    HRESULT RemoteGetDocumentation2(
                [in] MEMBERID memid,
                [in] LCID lcid,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -