//+-------------------------------------------------------------------------
//
//  Microsoft Windows
//  Copyright (C) Microsoft Corporation, 1992-1997.
//
//  File: objidl.idl
//
//--------------------------------------------------------------------------

cpp_quote("//+-------------------------------------------------------------------------")
cpp_quote("//")
cpp_quote("//  Microsoft Windows")
cpp_quote("//  Copyright (C) Microsoft Corporation, 1992-1997.")
cpp_quote("//")
cpp_quote("//--------------------------------------------------------------------------")

#ifndef DO_NO_IMPORTS
    import "unknwn.idl";
    import "objidl.idl";
#endif

interface IApartmentWork;

/****************************************************************************
 *  Apartment Object Interfaces
 ****************************************************************************/
[
 object,
 local,
 uuid(0F29CE41-72FD-11d0-BF53-00AA00B8DFD2)
]
interface IApartmentWork : IUnknown
{
    HRESULT Invoke();
}


[
 object,
 local,
 uuid(0F29CE40-72FD-11d0-BF53-00AA00B8DFD2)
]
interface IApartment : IUnknown
{
    HRESULT EnterApartment        ([in]      IApartmentWork *pWk);
    HRESULT YieldApartment        ([in]      IApartmentWork *pWk);

    HRESULT CoCreateInstanceEx    ([in]      REFCLSID        rclsid,
                                   [in]      IUnknown       *punkOuter,
                                   [in]      DWORD           dwClsCtx,
                                   [in]      COSERVERINFO    info,
                                   [in]      DWORD           dwCount,
                                   [out]     MULTI_QI       *pResults);

    HRESULT CoGetClassObject     ( [in]      REFCLSID       rclsid,
                                   [in]      DWORD          dwClsContext,
                                   [in]      COSERVERINFO * pServerInfo,
                                   [in]      REFIID         riid,
                                   [out, iid_is(riid)] IUnknown    ** ppUnk);

    HRESULT GetAptID              ([out] DWORD *pID);

    HRESULT GetAptThreadingModel  ([out] DWORD *pModel);

    HRESULT ArePropertiesSupported([in]  OLECHAR *pstr);
}



