// ==++==
// 
//   Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// ==--==
/*****************************************************************************
 **                                                                         **
 ** tlbref.idl - contains definitions for the LoadTypeLibWithResolver and   **
 **              supporting APIs and interfaces.                            **
 **                                                                         **
 *****************************************************************************/

import "oaidl.idl";

// IID ITypeLibResolver : uuid(8F026EDB-785E-4470-A8E1-B4E84E9D1779)
cpp_quote("EXTERN_GUID(IID_ITypeLibResolver, 0x8F026EDB, 0x785E, 0x4470, 0xA8, 0xE1, 0xB4, 0xE8, 0x4E, 0x9D, 0x17, 0x79);")

[
    object,
    uuid(8F026EDB-785E-4470-A8E1-B4E84E9D1779),
    pointer_default(unique)
]
interface ITypeLibResolver : IUnknown
{
    HRESULT ResolveTypeLib(
                [in]  BSTR bstrSimpleName,
                [in]  GUID tlbid,
                [in]  LCID lcid,
                [in]  USHORT wMajorVersion,
                [in]  USHORT wMinorVersion,
                [in]  SYSKIND syskind,               
                [out] BSTR *pbstrResolvedTlbName
            );
}

cpp_quote("STDAPI LoadTypeLibWithResolver(LPCOLESTR szFile, REGKIND regkind, ITypeLibResolver *pTlbResolver, ITypeLib **pptlib);")
cpp_quote("STDAPI GetTypeLibInfo(LPWSTR szFile, GUID* pTypeLibID, LCID* pTypeLibLCID, SYSKIND* pTypeLibPlatform, USHORT* pTypeLibMajorVer, USHORT* pTypeLibMinorVer);")

