Index: Include/OAIdl.ab
===================================================================
--- Include/OAIdl.ab	(revision 42)
+++ Include/OAIdl.ab	(revision 77)
@@ -936,87 +936,87 @@
 	Inherits IUnknown
 
-		Function SetGuid(
-			/* [in] */ ByRef guid As GUID) As HRESULT
-
-		Function SetTypeFlags(
-			/* [in] */ uTypeFlags As DWord) As HRESULT
-
-		Function SetDocString(
-			/* [in] */ pStrDoc As LPOLESTR) As HRESULT
-
-		Function SetHelpContext(
-			/* [in] */ dwHelpContext As DWord) As HRESULT
-
-		Function SetVersion(
-			/* [in] */ wMajorVerNum As Word,
-			/* [in] */ wMinorVerNum As Word) As HRESULT
-
-		Function AddRefTypeInfo(
-			/* [in] */ pTInfo As VoidPtr /* *ITypeInfo */,
-			/* [in] */ByRef hRefType As HREFTYPE) As HRESULT
-
-		Function AddFuncDesc(
-			/* [in] */ index As DWord,
-			/* [in] */ ByRef FuncDesc As FUNCDESC) As HRESULT
-
-		Function AddImplType(
-			/* [in] */ index As DWord,
-			/* [in] */ hRefType As HREFTYPE) As HRESULT
-
-		Function SetImplTypeFlags(
-			/* [in] */ index As DWord,
-			/* [in] */ implTypeFlags As Long) As HRESULT
-
-		Function SetAlignment(
-			/* [in] */ cbAlignment As Long) As HRESULT
-
-		Function SetSchema(
-			/* [in] */ pStrSchema As LPOLESTR) As HRESULT
-
-		Function AddVarDesc(
-			/* [in] */ index As DWord,
-			/* [in] */ ByRef VarDesc As VARDESC) As HRESULT
-
-		Function SetFuncAndParamNames(
-			/* [in] */ index As DWord,
-			/* [in][size_is][in] */ rgszNames As *LPOLESTR,
-			/* [in] */ cNames As DWord) As HRESULT
-
-		Function SetVarName(
-			/* [in] */ index As DWord,
-			/* [in] */ szName As LPOLESTR) As HRESULT
-
-		Function SetTypeDescAlias(
-			/* [in] */ ByRef TDescAlias As TYPEDESC) As HRESULT
-
-		Function DefineFuncAsDllEntry(
-			/* [in] */ index As DWord,
-			/* [in] */ szDllName As LPOLESTR,
-			/* [in] */ zProcName As LPOLESTR) As HRESULT
-
-		Function SetFuncDocString(
-			/* [in] */ index As DWord,
-			/* [in] */ szDocString As LPOLESTR) As HRESULT
-
-		Function SetVarDocString(
-			/* [in] */ index As DWord,
-			/* [in] */ szDocString As LPOLESTR) As HRESULT
-
-		Function SetFuncHelpContext(
-			/* [in] */ index As DWord,
-			/* [in] */ dwHelpContext As DWord) As HRESULT
-
-		Function SetVarHelpContext(
-			/* [in] */ index As DWord,
-			/* [in] */ dwHelpContext As DWord) As HRESULT
-
-		Function SetMops(
-			/* [in] */ index As DWord,
-			/* [in] */ bstrMops As BSTR) As HRESULT
-
-		Function SetTypeIdldesc(
-			/* [in] */ ByRef IdlDesc As IDLDESC) As HRESULT
-
-		Function LayOut() As HRESULT
+	Function SetGuid(
+		/* [in] */ ByRef guid As GUID) As HRESULT
+
+	Function SetTypeFlags(
+		/* [in] */ uTypeFlags As DWord) As HRESULT
+
+	Function SetDocString(
+		/* [in] */ pStrDoc As LPOLESTR) As HRESULT
+
+	Function SetHelpContext(
+		/* [in] */ dwHelpContext As DWord) As HRESULT
+
+	Function SetVersion(
+		/* [in] */ wMajorVerNum As Word,
+		/* [in] */ wMinorVerNum As Word) As HRESULT
+
+	Function AddRefTypeInfo(
+		/* [in] */ pTInfo As VoidPtr /* *ITypeInfo */,
+		/* [in] */ByRef hRefType As HREFTYPE) As HRESULT
+
+	Function AddFuncDesc(
+		/* [in] */ index As DWord,
+		/* [in] */ ByRef FuncDesc As FUNCDESC) As HRESULT
+
+	Function AddImplType(
+		/* [in] */ index As DWord,
+		/* [in] */ hRefType As HREFTYPE) As HRESULT
+
+	Function SetImplTypeFlags(
+		/* [in] */ index As DWord,
+		/* [in] */ implTypeFlags As Long) As HRESULT
+
+	Function SetAlignment(
+		/* [in] */ cbAlignment As Long) As HRESULT
+
+	Function SetSchema(
+		/* [in] */ pStrSchema As LPOLESTR) As HRESULT
+
+	Function AddVarDesc(
+		/* [in] */ index As DWord,
+		/* [in] */ ByRef VarDesc As VARDESC) As HRESULT
+
+	Function SetFuncAndParamNames(
+		/* [in] */ index As DWord,
+		/* [in][size_is][in] */ rgszNames As *LPOLESTR,
+		/* [in] */ cNames As DWord) As HRESULT
+
+	Function SetVarName(
+		/* [in] */ index As DWord,
+		/* [in] */ szName As LPOLESTR) As HRESULT
+
+	Function SetTypeDescAlias(
+		/* [in] */ ByRef TDescAlias As TYPEDESC) As HRESULT
+
+	Function DefineFuncAsDllEntry(
+		/* [in] */ index As DWord,
+		/* [in] */ szDllName As LPOLESTR,
+		/* [in] */ zProcName As LPOLESTR) As HRESULT
+
+	Function SetFuncDocString(
+		/* [in] */ index As DWord,
+		/* [in] */ szDocString As LPOLESTR) As HRESULT
+
+	Function SetVarDocString(
+		/* [in] */ index As DWord,
+		/* [in] */ szDocString As LPOLESTR) As HRESULT
+
+	Function SetFuncHelpContext(
+		/* [in] */ index As DWord,
+		/* [in] */ dwHelpContext As DWord) As HRESULT
+
+	Function SetVarHelpContext(
+		/* [in] */ index As DWord,
+		/* [in] */ dwHelpContext As DWord) As HRESULT
+
+	Function SetMops(
+		/* [in] */ index As DWord,
+		/* [in] */ bstrMops As BSTR) As HRESULT
+
+	Function SetTypeIdldesc(
+		/* [in] */ ByRef IdlDesc As IDLDESC) As HRESULT
+
+	Function LayOut() As HRESULT
 End Interface
 
@@ -1239,5 +1239,5 @@
 /* [unique][uuid][object] */
 
-Typedef /* [unique] */ LPENUMVARIANT = *IEnumVARIANT
+Typedef LPENUMVARIANT = /* [unique] */ *IEnumVARIANT
 
 Dim IID_IEnumVARIANT = [&h00020404, &h0000, &h0000, [&hC0, &h00, &h00, &h00, &h00, &h00, &h00, &h46]] As IID
@@ -1260,6 +1260,4 @@
 #endif 	/* __IEnumVARIANT_INTERFACE_DEFINED__ */
 
-#ifdef __UNDECLARED__
-
 #ifndef __ITypeComp_INTERFACE_DEFINED__
 #define __ITypeComp_INTERFACE_DEFINED__
@@ -1268,5 +1266,5 @@
 /* [unique][uuid][object] */
 
-TypeDef /* [unique] */ ITypeComp *LPTYPECOMP;
+TypeDef LPTYPECOMP = /* [unique] */ *ITypeComp
 
 /* [v1_enum] */
@@ -1285,33 +1283,32 @@
     lptcomp As *ITypeComp
 End Union
+*/
+Type BINDPTR
+	p As VoidPtr '暫定
+End Type
 
 TypeDef LPBINDPTR = *BINDPTR
-*/
-
-EXTERN_C const IID IID_ITypeComp;
-
-    MIDL_INTERFACE("00020403-0000-0000-C000-000000000046")
-    ITypeComp : public IUnknown
-    {
-    public:
-        virtual /* [local] */ HRESULT STDMETHODCALLTYPE Bind(
-            /* [in] */ LPOLESTR szName,
-            /* [in] */ ULONG lHashVal,
-            /* [in] */ WORD wFlags,
-            /* [out] */ ITypeInfo **ppTInfo,
-            /* [out] */ DESCKIND *pDescKind,
-            /* [out] */ BINDPTR *pBindPtr) As HRESULT
-
-        virtual /* [local] */ HRESULT STDMETHODCALLTYPE BindType(
-            /* [in] */ LPOLESTR szName,
-            /* [in] */ ULONG lHashVal,
-            /* [out] */ ITypeInfo **ppTInfo,
-            /* [out] */ ITypeComp **ppTComp) As HRESULT
-
-    };
-
+
+Dim IID_ITypeComp = [&h00020403, &h0000, &h0000, [&hC0, &h00, &h00, &h00, &h00, &h00, &h00, &h46]] As IID
+
+Interface ITypeComp
+	Inherits IUnknown
+
+	Function /* [local] */ Bind(
+		/* [in] */ szName As LPOLESTR,
+		/* [in] */ HashVal As DWord,
+		/* [in] */ wFlags As Word,
+		/* [out] */ ByRef pTInfo As *ITypeInfo,
+		/* [out] */ ByRef DescKind As DESCKIND,
+		/* [out] */ ByRef BindPtr As BINDPTR) As HRESULT
+
+	Function /* [local] */ BindType(
+		/* [in] */ szName As LPOLESTR,
+		/* [in] */ HashVal As DWord,
+		/* [out] */ ByRef pTInfo As *ITypeInfo,
+		/* [out] */ ByRef pTComp As *ITypeComp) As HRESULT
+End Interface
 
 #endif 	/* __ITypeComp_INTERFACE_DEFINED__ */
-
 
 #ifndef __ITypeInfo_INTERFACE_DEFINED__
@@ -1321,104 +1318,100 @@
 /* [unique][uuid][object] */
 
-TypeDef /* [unique] */ ITypeInfo *LPTYPEINFO;
-
-
-EXTERN_C const IID IID_ITypeInfo;
-
-    MIDL_INTERFACE("00020401-0000-0000-C000-000000000046")
-    ITypeInfo : public IUnknown
-    {
-    public:
-        virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetTypeAttr(
-            /* [out] */ TYPEATTR **ppTypeAttr) As HRESULT
-
-        Function GetTypeComp(
-            /* [out] */ ITypeComp **ppTComp) As HRESULT
-
-        virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetFuncDesc(
-            /* [in] */ UINT index,
-            /* [out] */ FUNCDESC **ppFuncDesc) As HRESULT
-
-        virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetVarDesc(
-            /* [in] */ UINT index,
-            /* [out] */ VARDESC **ppVarDesc) As HRESULT
-
-        virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetNames(
-            /* [in] */ MEMBERID memid,
-            /* [length_is][size_is][out] */ BSTR *rgBstrNames,
-            /* [in] */ UINT cMaxNames,
-            /* [out] */ UINT *pcNames) As HRESULT
-
-        Function GetRefTypeOfImplType(
-            /* [in] */ UINT index,
-            /* [out] */ HREFTYPE *pRefType) As HRESULT
-
-        Function GetImplTypeFlags(
-            /* [in] */ UINT index,
-            /* [out] */ INT *pImplTypeFlags) As HRESULT
-
-        virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetIDsOfNames(
-            /* [size_is][in] */ LPOLESTR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [size_is][out] */ MEMBERID *pMemId) As HRESULT
-
-        virtual /* [local] */ HRESULT STDMETHODCALLTYPE Invoke(
-            /* [in] */ PVOID pvInstance,
-            /* [in] */ MEMBERID memid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS *pDispParams,
-            /* [out] */ VARIANT *pVarResult,
-            /* [out] */ EXCEPINFO *pExcepInfo,
-            /* [out] */ UINT *puArgErr) As HRESULT
-
-        virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation(
-            /* [in] */ MEMBERID memid,
-            /* [out] */ BSTR *pBstrName,
-            /* [out] */ BSTR *pBstrDocString,
-            /* [out] */ DWORD *pdwHelpContext,
-            /* [out] */ BSTR *pBstrHelpFile) As HRESULT
-
-        virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDllEntry(
-            /* [in] */ MEMBERID memid,
-            /* [in] */ INVOKEKIND invKind,
-            /* [out] */ BSTR *pBstrDllName,
-            /* [out] */ BSTR *pBstrName,
-            /* [out] */ WORD *pwOrdinal) As HRESULT
-
-        Function GetRefTypeInfo(
-            /* [in] */ HREFTYPE hRefType,
-            /* [out] */ ITypeInfo **ppTInfo) As HRESULT
-
-        virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddressOfMember(
-            /* [in] */ MEMBERID memid,
-            /* [in] */ INVOKEKIND invKind,
-            /* [out] */ PVOID *ppv) As HRESULT
-
-        virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateInstance(
-            /* [in] */ IUnknown *pUnkOuter,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ PVOID *ppvObj) As HRESULT
-
-        Function GetMops(
-            /* [in] */ MEMBERID memid,
-            /* [out] */ BSTR *pBstrMops) As HRESULT
-
-        virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetContainingTypeLib(
-            /* [out] */ ITypeLib **ppTLib,
-            /* [out] */ UINT *pIndex) As HRESULT
-
-        virtual /* [local] */ void STDMETHODCALLTYPE ReleaseTypeAttr(
-            /* [in] */ TYPEATTR *pTypeAttr) As HRESULT
-
-        virtual /* [local] */ void STDMETHODCALLTYPE ReleaseFuncDesc(
-            /* [in] */ FUNCDESC *pFuncDesc) As HRESULT
-
-        virtual /* [local] */ void STDMETHODCALLTYPE ReleaseVarDesc(
-            /* [in] */ VARDESC *pVarDesc) As HRESULT
-
-    };
+TypeDef LPTYPEINFO = /* [unique] */ *ITypeInfo
+
+Dim IID_ITypeInfo = [&H00020401, &h0000, &h0000, [&hC0, &h00, &h00, &h00, &h00, &h00, &h00, &h46]] As IID
+
+Interface ITypeInfo
+	Inherits IUnknown
+
+	Function /* [local] */ GetTypeAttr(
+		/* [out] */ ByRef pTypeAttr As *TYPEATTR) As HRESULT
+
+	Function GetTypeComp(
+		/* [out] */ ByRef pTComp As *ITypeComp) As HRESULT
+
+	Function /* [local] */ GetFuncDesc(
+		/* [in] */ index As DWord,
+		/* [out] */ ByRef pFuncDesc As *FUNCDESC) As HRESULT
+
+	Function /* [local] */ GetVarDesc(
+		/* [in] */ index As DWord,
+		/* [out] */ ByRef pVarDesc As *VARDESC) As HRESULT
+
+	Function /* [local] */ GetNames(
+		/* [in] */ memid As MEMBERID,
+		/* [length_is][size_is][out] */ rgBstrNames As *BSTR,
+		/* [in] */ cMaxNames As DWord,
+		/* [out] */ ByRef cNames As DWord) As HRESULT
+
+	Function GetRefTypeOfImplType(
+		/* [in] */ index As DWord,
+		/* [out] */ ByRef RefType As HREFTYPE) As HRESULT
+
+	Function GetImplTypeFlags(
+		/* [in] */ index As DWord,
+		/* [out] */ ByRef ImplTypeFlags As Long) As HRESULT
+
+	Function /* [local] */ GetIDsOfNames(
+		/* [size_is][in] */ rgszNames As *LPOLESTR,
+		/* [in] */ cNames As DWord,
+		/* [size_is][out] */ pMemId As *MEMBERID) As HRESULT
+
+	Function /* [local] */ Invoke(
+		/* [in] */ pvInstance As VoidPtr,
+		/* [in] */ memid As MEMBERID,
+		/* [in] */ wFlags As Word,
+		/* [out][in] */ ByRef DispParams As DISPPARAMS,
+		/* [out] */ ByRef VarResult As VARIANT,
+		/* [out] */ ByRef ExcepInfo As EXCEPINFO,
+		/* [out] */ ByRef uArgErr As DWord) As HRESULT
+
+	Function /* [local] */ GetDocumentation(
+		/* [in] */ memid As MEMBERID,
+		/* [out] */ ByRef BstrName As BSTR,
+		/* [out] */ ByRef BstrDocString As BSTR,
+		/* [out] */ ByRef dwHelpContext As DWord,
+		/* [out] */ ByRef BstrHelpFile As BSTR) As HRESULT
+
+	Function /* [local] */ GetDllEntry(
+		/* [in] */ memid As MEMBERID,
+		/* [in] */ invKind As INVOKEKIND,
+		/* [out] */ ByRef BstrDllName As BSTR,
+		/* [out] */ ByRef BstrName As BSTR,
+		/* [out] */ ByRef wOrdinal As Word) As HRESULT
+
+	Function GetRefTypeInfo(
+		/* [in] */ hRefType As HREFTYPE,
+		/* [out] */ ByRef pTInfo As *ITypeInfo) As HRESULT
+
+	Function /* [local] */ AddressOfMember(
+		/* [in] */ memid As MEMBERID,
+		/* [in] */ invKind As INVOKEKIND,
+		/* [out] */ ByRef pv As VoidPtr) As HRESULT
+
+	Function /* [local] */ CreateInstance(
+		/* [in] */ pUnkOuter As *IUnknown,
+		/* [in] */ ByRef riid As IID,
+		/* [iid_is][out] */ ByRef pvObj As Any) As HRESULT
+
+	Function GetMops(
+		/* [in] */ memid As MEMBERID,
+		/* [out] */ ByRef BstrMops As BSTR) As HRESULT
+
+	Function /* [local] */ GetContainingTypeLib(
+		/* [out] */ ByRef pTLib As *ITypeLib,
+		/* [out] */ ByRef Index As UINT) As HRESULT
+
+	Function /* [local] */ void STDMETHODCALLTYPE ReleaseTypeAttr(
+		/* [in] */ pTypeAttr As *TYPEATTR) As HRESULT
+
+	Function /* [local] */ void STDMETHODCALLTYPE ReleaseFuncDesc(
+		/* [in] */ pFuncDesc As *FUNCDESC) As HRESULT
+
+	Function /* [local] */ void STDMETHODCALLTYPE ReleaseVarDesc(
+		/* [in] */ pVarDesc As *VARDESC) As HRESULT
+End Interface
 
 #endif 	/* __ITypeInfo_INTERFACE_DEFINED__ */
-
 
 #ifndef __ITypeInfo2_INTERFACE_DEFINED__
@@ -1428,85 +1421,68 @@
 /* [unique][uuid][object] */
 
-TypeDef /* [unique] */ ITypeInfo2 *LPTYPEINFO2;
-
-
-EXTERN_C const IID IID_ITypeInfo2;
-
-    MIDL_INTERFACE("00020412-0000-0000-C000-000000000046")
-    ITypeInfo2 : public ITypeInfo
-    {
-    public:
-        Function GetTypeKind(
-            /* [out] */ TYPEKIND *pTypeKind) As HRESULT
-
-        Function GetTypeFlags(
-            /* [out] */ ULONG *pTypeFlags) As HRESULT
-
-        Function GetFuncIndexOfMemId(
-            /* [in] */ MEMBERID memid,
-            /* [in] */ INVOKEKIND invKind,
-            /* [out] */ UINT *pFuncIndex) As HRESULT
-
-        Function GetVarIndexOfMemId(
-            /* [in] */ MEMBERID memid,
-            /* [out] */ UINT *pVarIndex) As HRESULT
-
-        Function GetCustData(
-            /* [in] */ REFGUID guid,
-            /* [out] */ VARIANT *pVarVal) As HRESULT
-
-        Function GetFuncCustData(
-            /* [in] */ UINT index,
-            /* [in] */ REFGUID guid,
-            /* [out] */ VARIANT *pVarVal) As HRESULT
-
-        Function GetParamCustData(
-            /* [in] */ UINT indexFunc,
-            /* [in] */ UINT indexParam,
-            /* [in] */ REFGUID guid,
-            /* [out] */ VARIANT *pVarVal) As HRESULT
-
-        Function GetVarCustData(
-            /* [in] */ UINT index,
-            /* [in] */ REFGUID guid,
-            /* [out] */ VARIANT *pVarVal) As HRESULT
-
-        Function GetImplTypeCustData(
-            /* [in] */ UINT index,
-            /* [in] */ REFGUID guid,
-            /* [out] */ VARIANT *pVarVal) As HRESULT
-
-        virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation2(
-            /* [in] */ MEMBERID memid,
-            /* [in] */ LCID lcid,
-            /* [out] */ BSTR *pbstrHelpString,
-            /* [out] */ DWORD *pdwHelpStringContext,
-            /* [out] */ BSTR *pbstrHelpStringDll) As HRESULT
-
-        Function GetAllCustData(
-            /* [out] */ CUSTDATA *pCustData) As HRESULT
-
-        Function GetAllFuncCustData(
-            /* [in] */ UINT index,
-            /* [out] */ CUSTDATA *pCustData) As HRESULT
-
-        Function GetAllParamCustData(
-            /* [in] */ UINT indexFunc,
-            /* [in] */ UINT indexParam,
-            /* [out] */ CUSTDATA *pCustData) As HRESULT
-
-        Function GetAllVarCustData(
-            /* [in] */ UINT index,
-            /* [out] */ CUSTDATA *pCustData) As HRESULT
-
-        Function GetAllImplTypeCustData(
-            /* [in] */ UINT index,
-            /* [out] */ CUSTDATA *pCustData) As HRESULT
-
-    };
-
+TypeDef LPTYPEINFO2 = /* [unique] */ *ITypeInfo2
+
+Dim IID_ITypeInfo2 = [&H00020412, &h0000, &h0000, [&hC0, &h00, &h00, &h00, &h00, &h00, &h00, &h46]] As IID
+
+Interface ITypeInfo2
+	Inherits ITypeInfo
+
+	Function GetTypeKind(
+		/* [out] */ ByRef TypeKind As TYPEKIND) As HRESULT
+	Function GetTypeFlags(
+		/* [out] */ ByRef TypeFlags As DWord) As HRESULT
+	Function GetFuncIndexOfMemId(
+		/* [in] */ memid As MEMBERID,
+		/* [in] */ invKind As INVOKEKIND,
+		/* [out] */ ByRef FuncIndex As DWord) As HRESULT
+	Function GetVarIndexOfMemId(
+		/* [in] */ memid As MEMBERID,
+		/* [out] */ ByRef pVarIndex As DWord) As HRESULT
+	Function GetCustData(
+		/* [in] */ ByRef guid As GUID,
+		/* [out] */ ByRef VarVal As VARIANT) As HRESULT
+	Function GetFuncCustData(
+		/* [in] */ index As DWord,
+		/* [in] */ ByRef guid As GUID,
+		/* [out] */ ByRef VarVal As VARIANT) As HRESULT
+	Function GetParamCustData(
+		/* [in] */ indexFunc As DWord,
+		/* [in] */ indexParam As DWord,
+		/* [in] */ ByRef guid As GUID,
+		/* [out] */ ByRef VarVal As VARIANT) As HRESULT
+	Function GetVarCustData(
+		/* [in] */ UINT index,
+		/* [in] */ ByRef guid As GUID,
+		/* [out] */ ByRef VarVal As VARIANT) As HRESULT
+	Function GetImplTypeCustData(
+		/* [in] */ UINT index,
+		/* [in] */ ByRef guid As GUID,
+		/* [out] */ ByRef VarVal As VARIANT) As HRESULT
+	virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation2(
+		/* [in] */ memid As MEMBERID,
+		/* [in] */ lcid As LCID,
+		/* [out] */ ByRef bstrHelpString As BSTR,
+		/* [out] */ ByRef dwHelpStringContext As DWord,
+		/* [out] */ ByRef bstrHelpStringDll As BSTR) As HRESULT
+	Function GetAllCustData(
+		/* [out] */ ByRef CustData As CUSTDATA) As HRESULT
+	Function GetAllFuncCustData(
+		/* [in] */ index As DWord,
+		/* [out] */ ByRef CustData As CUSTDATA) As HRESULT
+	Function GetAllParamCustData(
+		/* [in] */ indexFunc As DWord,
+		/* [in] */ indexParam As DWord,
+		/* [out] */ ByRef CustData As CUSTDATA) As HRESULT
+	Function GetAllVarCustData(
+		/* [in] */ index As DWord,
+		/* [out] */ ByRef CustData As CUSTDATA) As HRESULT
+	Function GetAllImplTypeCustData(
+		/* [in] */ index As DWord,
+		/* [out] */ ByRef CustData As CUSTDATA) As HRESULT
+End Interface
 
 #endif 	/* __ITypeInfo2_INTERFACE_DEFINED__ */
 
+#ifdef __UNDECLARED__
 
 #ifndef __ITypeLib_INTERFACE_DEFINED__
@@ -1516,31 +1492,30 @@
 /* [unique][uuid][object] */
 
-TypeDef /* [v1_enum] */
-enum tagSYSKIND
-    {	SYS_WIN16 = 0,
-	SYS_WIN32 = SYS_WIN16 + 1,
-	SYS_MAC = SYS_WIN32 + 1,
+/* [v1_enum] */
+Enum SYSKIND
+	SYS_WIN16 = 0
+	SYS_WIN32 = SYS_WIN16 + 1
+	SYS_MAC = SYS_WIN32 + 1
 	SYS_WIN64 = SYS_MAC + 1
-    } 	SYSKIND;
-
-TypeDef /* [v1_enum] */
-enum tagLIBFLAGS
-    {	LIBFLAG_FRESTRICTED = 0x1,
-	LIBFLAG_FCONTROL = 0x2,
-	LIBFLAG_FHIDDEN = 0x4,
-	LIBFLAG_FHASDISKIMAGE = 0x8
-    } 	LIBFLAGS;
+End Enum
+
+/* [v1_enum] */
+Enum LIBFLAGS
+	LIBFLAG_FRESTRICTED = &h1
+	LIBFLAG_FCONTROL = &h2
+	LIBFLAG_FHIDDEN = &h4
+	LIBFLAG_FHASDISKIMAGE = &h8
+End Enum
 
 TypeDef /* [unique] */ ITypeLib *LPTYPELIB;
 
-TypeDef struct tagTLIBATTR
-    {
-    GUID guid;
-    LCID lcid;
-    SYSKIND syskind;
-    WORD wMajorVerNum;
-    WORD wMinorVerNum;
-    WORD wLibFlags;
-    } 	TLIBATTR;
+Type TLIBATTR
+	guid As GUID
+	lcid As LCID
+	syskind As SYSKIND
+	wMajorVerNum As Word
+	wMinorVerNum As Word
+	wLibFlags As Word
+End Type
 
 TypeDef struct tagTLIBATTR *LPTLIBATTR;
