📄 oaidl.idl
字号:
[
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 + -