📄 tlbtypes.odl
字号:
[out] void**ppv);
HRESULT CreateInstance(
[in] IUnknown *pUnkOuter,
[in] REFIID riid,
[out] void**ppvObj);
HRESULT GetMops(
[in] MEMBERID memid,
[out, retval] BSTR *pBstrMops);
HRESULT GetContainingTypeLib(
[out] ITypeLib **ppTLib,
[out,retval] UINT *pIndex);
void ReleaseTypeAttr(
[in] TYPEATTRPtr pTypeAttr);
void ReleaseFuncDesc(
[in] FUNCDESCPtr pFuncDesc);
void ReleaseVarDesc(
[in] VARDESCPtr pVarDesc);
}
[
uuid(00020412-0000-0000-C000-000000000046),
odl
]
interface ITypeInfo2 : ITypeInfo
{
HRESULT GetTypeKind(
[out,retval] TYPEKIND *pTypeKind);
HRESULT GetTypeFlags(
[out,retval] TYPEFLAGS *pTypeFlags);
HRESULT GetFuncIndexOfMemId(
[in] MEMBERID memid,
[in] INVOKEKIND invKind,
[out,retval] UINT *pFuncIndex);
HRESULT GetVarIndexOfMemId(
[in] MEMBERID memid,
[out,retval] UINT *pVarIndex);
HRESULT GetCustData(
[in] REFGUID guid,
[out,retval] VARIANT *pVarVal);
HRESULT GetFuncCustData(
[in] UINT index,
[in] REFGUID guid,
[out,retval] VARIANT *pVarVal);
HRESULT GetParamCustData(
[in] UINT indexFunc,
[in] UINT indexParam,
[in] REFGUID guid,
[out,retval] VARIANT *pVarVal);
HRESULT GetVarCustData(
[in] UINT index,
[in] REFGUID guid,
[out,retval] VARIANT *pVarVal);
HRESULT GetImplTypeCustData(
[in] UINT index,
[in] REFGUID guid,
[out,retval] VARIANT *pVarVal);
HRESULT GetDocumentation2(
[in] MEMBERID memid,
[in,defaultvalue(0)] LCID lcid,
[in,defaultvalue(0)] BSTRPtr pbstrHelpString,
[in,defaultvalue(0)] DWORDPtr pdwHelpStringContext,
[in,defaultvalue(0)] BSTRPtr pbstrHelpStringDll);
HRESULT GetAllCustData(
[out,retval] CUSTDATA *pCustData);
HRESULT GetAllFuncCustData(
[in] UINT index,
[out,retval] CUSTDATA *pCustData);
HRESULT GetAllParamCustData(
[in] UINT indexFunc,
[in] UINT indexParam,
[out,retval] CUSTDATA *pCustData);
HRESULT GetAllVarCustData(
[in] UINT index,
[out,retval] CUSTDATA *pCustData);
HRESULT GetAllImplTypeCustData(
[in] UINT index,
[out,retval] CUSTDATA *pCustData);
};
[
uuid(00020405-0000-0000-C000-000000000046),
odl
]
interface ICreateTypeInfo : IUnknown
{
HRESULT SetGuid(
[in] REFGUID guid);
HRESULT SetTypeFlags(
[in] UINT uTypeFlags);
HRESULT SetDocString(
[in] LPWSTR pStrDoc);
HRESULT SetHelpContext(
[in] DWORD dwHelpContext);
HRESULT SetVersion(
[in] WORD wMajorVerNum,
[in] WORD wMinorVerNum);
HRESULT AddRefTypeInfo(
[in] ITypeInfo *pTInfo,
[out,retval] HREFTYPE *phRefType);
HRESULT AddFuncDesc(
[in] UINT index,
[in] FUNCDESCPtr pFuncDesc);
HRESULT AddImplType(
[in] UINT index,
[in] HREFTYPE hRefType);
HRESULT SetImplTypeFlags(
[in] UINT index,
[in] INT implTypeFlags);
HRESULT SetAlignment(
[in] WORD cbAlignment);
HRESULT SetSchema(
[in] LPWSTR pStrSchema);
HRESULT AddVarDesc(
[in] UINT index,
[in] VARDESCPtr pVarDesc);
HRESULT SetFuncAndParamNames(
[in] UINT index,
[in] LPWSTRArrayPtr rgszNames,
[in] UINT cNames);
HRESULT SetVarName(
[in] UINT index,
[in] LPWSTR szName);
HRESULT SetTypeDescAlias(
[in] TYPEDESCPtr pTDescAlias);
HRESULT DefineFuncAsDllEntry(
[in] UINT index,
[in] LPWSTR szDllName,
[in] LPOLESTR szProcName);
HRESULT SetFuncDocString(
[in] UINT index,
[in] LPWSTR szDocString);
HRESULT SetVarDocString(
[in] UINT index,
[in] LPWSTR szDocString);
HRESULT SetFuncHelpContext(
[in] UINT index,
[in] DWORD dwHelpContext);
HRESULT SetVarHelpContext(
[in] UINT index,
[in] DWORD dwHelpContext);
HRESULT SetMops(
[in] UINT index,
[in] BSTR bstrMops);
HRESULT SetTypeIdldesc(
[in] IDLDESC *pIdlDesc);
HRESULT LayOut( void);
}
[
uuid(0002040E-0000-0000-C000-000000000046),
odl
]
interface ICreateTypeInfo2 : ICreateTypeInfo
{
HRESULT DeleteFuncDesc(
[in] UINT index);
HRESULT DeleteFuncDescByMemId(
[in] MEMBERID memid,
[in] INVOKEKIND invKind);
HRESULT DeleteVarDesc(
[in] UINT index);
HRESULT DeleteVarDescByMemId(
[in] MEMBERID memid);
HRESULT DeleteImplType(
[in] UINT index);
HRESULT SetCustData(
[in] REFGUID guid,
[in] VARIANT *pVarVal);
HRESULT SetFuncCustData(
[in] UINT index,
[in] REFGUID guid,
[in] VARIANT *pVarVal);
HRESULT SetParamCustData(
[in] UINT indexFunc,
[in] UINT indexParam,
[in] REFGUID guid,
[in] VARIANT *pVarVal);
HRESULT SetVarCustData(
[in] UINT index,
[in] REFGUID guid,
[in] VARIANT *pVarVal);
HRESULT SetImplTypeCustData(
[in] UINT index,
[in] REFGUID guid,
[in] VARIANT *pVarVal);
HRESULT SetHelpStringContext(
[in] ULONG dwHelpStringContext);
HRESULT SetFuncHelpStringContext(
[in] UINT index,
[in] ULONG dwHelpStringContext);
HRESULT SetVarHelpStringContext(
[in] UINT index,
[in] ULONG dwHelpStringContext);
HRESULT Invalidate( void);
HRESULT SetName(
[in] LPWSTR szName);
}
[
uuid(00020406-0000-0000-C000-000000000046),
odl
]
interface ICreateTypeLib : IUnknown
{
HRESULT CreateTypeInfo(
[in] LPWSTR szName,
[in] TYPEKIND tkind,
[out,retval] ICreateTypeInfo **ppCTInfo);
HRESULT SetName(
[in] LPWSTR szName);
HRESULT SetVersion(
[in] WORD wMajorVerNum,
[in] WORD wMinorVerNum);
HRESULT SetGuid(
[in] REFGUID guid);
HRESULT SetDocString(
[in] LPWSTR szDoc);
HRESULT SetHelpFileName(
[in] LPWSTR szHelpFileName);
HRESULT SetHelpContext(
[in] DWORD dwHelpContext);
HRESULT SetLcid(
[in] LCID lcid);
HRESULT SetLibFlags(
[in] UINT uLibFlags);
HRESULT SaveAllChanges( void);
}
[
uuid(0002040F-0000-0000-C000-000000000046),
odl
]
interface ICreateTypeLib2 : ICreateTypeLib
{
HRESULT DeleteTypeInfo(
[in] LPWSTR szName);
HRESULT SetCustData(
[in] REFGUID guid,
[in] VARIANT *pVarVal);
HRESULT SetHelpStringContext(
[in] ULONG dwHelpStringContext);
HRESULT SetHelpStringDll(
[in] LPWSTR szFileName);
}
typedef enum
{
REGKIND_DEFAULT,
REGKIND_REGISTER,
REGKIND_NONE
} REGKIND;
typedef struct
{
BSTR szName;
VariantType vt;
} PARAMDATA;
typedef [public] long PARAMDATAArrayPtr;
typedef struct
{
BSTR szName;
PARAMDATAArrayPtr ppData;
DISPID dispid;
UINT iMeth;
CALLCONV cc;
UINT cArgs;
USHORT wFlags;
VariantType vtReturn;
} METHODDATA;
typedef [public] long METHODDATAArrayPtr;
typedef struct
{
METHODDATAArrayPtr pmethdata;
UINT cMembers;
} INTERFACEDATA;
[dllname("oleaut32.dll")]
module OleAut32
{
[entry("CreateTypeLib2")] HRESULT CreateTypeLib2([in] SYSKIND syskind, [in] LPWSTR szFile, [out,retval] ICreateTypeLib2 **ppctlib);
[entry("LoadTypeLib")] HRESULT LoadTypeLib([in] LPWSTR szFile, [out,retval] ITypeLib** pptlib);
[entry("LoadTypeLibEx")] HRESULT LoadTypeLibEx([in] LPWSTR szFile, [in, defaultvalue(2)] REGKIND RegKind, [out,retval] ITypeLib** pptlib);
[entry("LoadRegTypeLib")] HRESULT LoadRegTypeLib([in] VBGUID* rlibid, [in] USHORT wVerMajor, [in] USHORT wVerMinor, [in] LCID lcid, [out,retval] ITypeLib** pptlib);
[entry("RegisterTypeLib")] HRESULT RegisterTypeLib([in] ITypeLib* ptlib, [in] LPWSTR szFullPath, [in] LPWSTR szHelpDir);
[entry("UnRegisterTypeLib")] HRESULT UnRegisterTypeLib([in] VBGUID* rlibid, [in] USHORT wVerMajor, [in] USHORT wVerMinor, [in] LCID lcid, [in] SYSKIND SysKind);
[entry("QueryPathOfRegTypeLib")] HRESULT QueryPathOfRegTypeLib([in] VBGUID* rlibid, [in] USHORT wVerMajor, [in] USHORT wVerMinor, [in] LCID lcid, [out,retval] BSTR* lpbstrPathName);
[entry("LHashValOfNameSys")] ULONG LHashValOfNameSys([in] SYSKIND SysKind, [in] LCID lcid, [in] LPWSTR szName);
[entry("ClearCustData")] void ClearCustData([in] CUSTDATA* pCustData);
[entry("CreateDispTypeInfo")] HRESULT CreateDispTypeInfo([in] INTERFACEDATA* piData, [in] LCID lcid, [out,retval] ITypeInfo** pptinfo);
[entry("CreateStdDispatch")] HRESULT CreateStdDispatch([in] stdole.IUnknown* punkOuter, [in] PVOID pvThis, [in] ITypeInfo* ptinfo, [out, retval] IUnknown** ppunkStdDisp);
[entry("DispGetIDsOfNames")] long DispGetIDsOfNames([in] ITypeInfo* ptinfo, [in] LPOLESTRArrayPtr rgszNames, [in] UINT cNames,[in] DISPIDArrayPtr rgDispId);
[entry("DispGetParam")] long DispGetParam([in,out] VBDISPPARAMS *pDispParams, [in] UINT Position, [in] VariantType vtTarg, [in, out] VARIANT* pvarResult, [in, out] UINT* puArgErr);
[entry("DispInvoke")] long DispInvoke([in] PVOID pvThis, [in] ITypeInfo* ptinfo, [in] DISPID dispIdMember, [in] WORD wFlags, [in, out] VBDISPPARAMS *pDispParams, [in] VARIANTPtr pVarResult, [in, out] VBEXCEPINFO *pExcepInfo, [in, out] UINT *puArgErr);
[entry("GetRecordInfoFromTypeInfo")] HRESULT GetRecordInfoFromTypeInfo([in] ITypeInfo* ptinfo, [out, retval] IRecordInfo** ppRecInfo);
[entry("GetRecordInfoFromGuids")] HRESULT GetRecordInfoFromGuids([in] VBGUID* rGuidTypeLib, [in] ULONG uVerMajor, [in] ULONG uVerMinor, [in] LCID lcid, [in] VBGUID* rGuidTypeInfo, [out, retval] IRecordInfo** ppRecInfo);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -