;@InterfaceName=ITypeLib

;Derived from IUnknown
BaseIID={00000000-0000-0000-C000-000000000046}

VTBLIndex=3|UINT __stdcall ITypeLib::GetTypeInfoCount(IUnknown* pObject)

; create ITypeInfo (IID = 00020401-0000-0000-C000-000000000046)
VTBLIndex=4|HRESULT __stdcall ITypeLib::GetTypeInfo(IUnknown* pObject, UINT index, PVOID* ppTInfo)|Out|FailureIfNegativeRet|ObjectCreation(CLSIDValue=CurrentObjectCLSID|IIDValue={00020401-0000-0000-C000-000000000046}|ObjectStackIndex=8)
VTBLIndex=5|HRESULT __stdcall ITypeLib::GetTypeInfoType(IUnknown* pObject, UINT index, INT* pTKind)|Out|FailureIfNegativeRet

; create ITypeInfo (IID = 00020401-0000-0000-C000-000000000046)
VTBLIndex=6|HRESULT __stdcall ITypeLib::GetTypeInfoOfGuid(IUnknown* pObject, PVOID* guid, PVOID* ppTInfo)|Out|FailureIfNegativeRet|ObjectCreation(CLSIDValue=CurrentObjectCLSID|IIDValue={00020401-0000-0000-C000-000000000046}|ObjectStackIndex=8)
VTBLIndex=7|HRESULT __stdcall ITypeLib::GetLibAttr(IUnknown* pObject, PVOID* ppTLibAttr, UINT* pDummy)|Out|FailureIfNegativeRet
VTBLIndex=8|HRESULT __stdcall ITypeLib::GetTypeComp(IUnknown* pObject, PVOID* ppTComp)|Out|FailureIfNegativeRet
VTBLIndex=9|HRESULT __stdcall ITypeLib::GetDocumentation(IUnknown* pObject, INT index, PVOID* pBstrName, PVOID* pBstrDocString, UINT* pdwHelpContext, PVOID* pBstrHelpFile)|Out|FailureIfNegativeRet
VTBLIndex=10|HRESULT __stdcall ITypeLib::IsName(IUnknown* pObject, BSTR szNameBuf, UINT lHashVal, BOOL* pfName)|Out|FailureIfNegativeRet
VTBLIndex=11|HRESULT __stdcall ITypeLib::FindName(IUnknown* pObject, BSTR szNameBuf, UINT lHashVal, PVOID* ppTInfo, INT* rgMemId, short* pcFound)|Out|FailureIfNegativeRet
VTBLIndex=12|HRESULT __stdcall ITypeLib::ReleaseTLibAttr(IUnknown* pObject, TLIBATTR *pTLibAttr)|FailureIfNegativeRet
