/*** Autogenerated by WIDL 10.8 from include/windows.ui.xaml.hosting.desktopwindowxamlsource.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __windows_ui_xaml_hosting_desktopwindowxamlsource_h__
#define __windows_ui_xaml_hosting_desktopwindowxamlsource_h__

/* Forward declarations */

#ifndef __IDesktopWindowXamlSourceNative_FWD_DEFINED__
#define __IDesktopWindowXamlSourceNative_FWD_DEFINED__
typedef interface IDesktopWindowXamlSourceNative IDesktopWindowXamlSourceNative;
#ifdef __cplusplus
interface IDesktopWindowXamlSourceNative;
#endif /* __cplusplus */
#endif

#ifndef __IDesktopWindowXamlSourceNative2_FWD_DEFINED__
#define __IDesktopWindowXamlSourceNative2_FWD_DEFINED__
typedef interface IDesktopWindowXamlSourceNative2 IDesktopWindowXamlSourceNative2;
#ifdef __cplusplus
interface IDesktopWindowXamlSourceNative2;
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <oaidl.h>

#ifdef __cplusplus
extern "C" {
#endif

/*****************************************************************************
 * IDesktopWindowXamlSourceNative interface
 */
#ifndef __IDesktopWindowXamlSourceNative_INTERFACE_DEFINED__
#define __IDesktopWindowXamlSourceNative_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDesktopWindowXamlSourceNative, 0x3cbcf1bf, 0x2f76, 0x4e9c, 0x96,0xab, 0xe8,0x4b,0x37,0x97,0x25,0x54);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3cbcf1bf-2f76-4e9c-96ab-e84b37972554")
IDesktopWindowXamlSourceNative : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE AttachToWindow(
        HWND parent_wnd) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_WindowHandle(
        HWND *wnd) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDesktopWindowXamlSourceNative, 0x3cbcf1bf, 0x2f76, 0x4e9c, 0x96,0xab, 0xe8,0x4b,0x37,0x97,0x25,0x54)
#endif
#else
typedef struct IDesktopWindowXamlSourceNativeVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDesktopWindowXamlSourceNative *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDesktopWindowXamlSourceNative *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDesktopWindowXamlSourceNative *This);

    /*** IDesktopWindowXamlSourceNative methods ***/
    HRESULT (STDMETHODCALLTYPE *AttachToWindow)(
        IDesktopWindowXamlSourceNative *This,
        HWND parent_wnd);

    HRESULT (STDMETHODCALLTYPE *get_WindowHandle)(
        IDesktopWindowXamlSourceNative *This,
        HWND *wnd);

    END_INTERFACE
} IDesktopWindowXamlSourceNativeVtbl;

interface IDesktopWindowXamlSourceNative {
    CONST_VTBL IDesktopWindowXamlSourceNativeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDesktopWindowXamlSourceNative_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDesktopWindowXamlSourceNative_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDesktopWindowXamlSourceNative_Release(This) (This)->lpVtbl->Release(This)
/*** IDesktopWindowXamlSourceNative methods ***/
#define IDesktopWindowXamlSourceNative_AttachToWindow(This,parent_wnd) (This)->lpVtbl->AttachToWindow(This,parent_wnd)
#define IDesktopWindowXamlSourceNative_get_WindowHandle(This,wnd) (This)->lpVtbl->get_WindowHandle(This,wnd)
#else
/*** IUnknown methods ***/
static inline HRESULT IDesktopWindowXamlSourceNative_QueryInterface(IDesktopWindowXamlSourceNative* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDesktopWindowXamlSourceNative_AddRef(IDesktopWindowXamlSourceNative* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDesktopWindowXamlSourceNative_Release(IDesktopWindowXamlSourceNative* This) {
    return This->lpVtbl->Release(This);
}
/*** IDesktopWindowXamlSourceNative methods ***/
static inline HRESULT IDesktopWindowXamlSourceNative_AttachToWindow(IDesktopWindowXamlSourceNative* This,HWND parent_wnd) {
    return This->lpVtbl->AttachToWindow(This,parent_wnd);
}
static inline HRESULT IDesktopWindowXamlSourceNative_get_WindowHandle(IDesktopWindowXamlSourceNative* This,HWND *wnd) {
    return This->lpVtbl->get_WindowHandle(This,wnd);
}
#endif
#endif

#endif


#endif  /* __IDesktopWindowXamlSourceNative_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDesktopWindowXamlSourceNative2 interface
 */
#ifndef __IDesktopWindowXamlSourceNative2_INTERFACE_DEFINED__
#define __IDesktopWindowXamlSourceNative2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDesktopWindowXamlSourceNative2, 0xe3dcd8c7, 0x3057, 0x4692, 0x99,0xc3, 0x7b,0x77,0x20,0xaf,0xda,0x31);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e3dcd8c7-3057-4692-99c3-7b7720afda31")
IDesktopWindowXamlSourceNative2 : public IDesktopWindowXamlSourceNative
{
    virtual HRESULT STDMETHODCALLTYPE PreTranslateMessage(
        const MSG *message,
        WINBOOL *result) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDesktopWindowXamlSourceNative2, 0xe3dcd8c7, 0x3057, 0x4692, 0x99,0xc3, 0x7b,0x77,0x20,0xaf,0xda,0x31)
#endif
#else
typedef struct IDesktopWindowXamlSourceNative2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDesktopWindowXamlSourceNative2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDesktopWindowXamlSourceNative2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDesktopWindowXamlSourceNative2 *This);

    /*** IDesktopWindowXamlSourceNative methods ***/
    HRESULT (STDMETHODCALLTYPE *AttachToWindow)(
        IDesktopWindowXamlSourceNative2 *This,
        HWND parent_wnd);

    HRESULT (STDMETHODCALLTYPE *get_WindowHandle)(
        IDesktopWindowXamlSourceNative2 *This,
        HWND *wnd);

    /*** IDesktopWindowXamlSourceNative2 methods ***/
    HRESULT (STDMETHODCALLTYPE *PreTranslateMessage)(
        IDesktopWindowXamlSourceNative2 *This,
        const MSG *message,
        WINBOOL *result);

    END_INTERFACE
} IDesktopWindowXamlSourceNative2Vtbl;

interface IDesktopWindowXamlSourceNative2 {
    CONST_VTBL IDesktopWindowXamlSourceNative2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDesktopWindowXamlSourceNative2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDesktopWindowXamlSourceNative2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDesktopWindowXamlSourceNative2_Release(This) (This)->lpVtbl->Release(This)
/*** IDesktopWindowXamlSourceNative methods ***/
#define IDesktopWindowXamlSourceNative2_AttachToWindow(This,parent_wnd) (This)->lpVtbl->AttachToWindow(This,parent_wnd)
#define IDesktopWindowXamlSourceNative2_get_WindowHandle(This,wnd) (This)->lpVtbl->get_WindowHandle(This,wnd)
/*** IDesktopWindowXamlSourceNative2 methods ***/
#define IDesktopWindowXamlSourceNative2_PreTranslateMessage(This,message,result) (This)->lpVtbl->PreTranslateMessage(This,message,result)
#else
/*** IUnknown methods ***/
static inline HRESULT IDesktopWindowXamlSourceNative2_QueryInterface(IDesktopWindowXamlSourceNative2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDesktopWindowXamlSourceNative2_AddRef(IDesktopWindowXamlSourceNative2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDesktopWindowXamlSourceNative2_Release(IDesktopWindowXamlSourceNative2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDesktopWindowXamlSourceNative methods ***/
static inline HRESULT IDesktopWindowXamlSourceNative2_AttachToWindow(IDesktopWindowXamlSourceNative2* This,HWND parent_wnd) {
    return This->lpVtbl->AttachToWindow(This,parent_wnd);
}
static inline HRESULT IDesktopWindowXamlSourceNative2_get_WindowHandle(IDesktopWindowXamlSourceNative2* This,HWND *wnd) {
    return This->lpVtbl->get_WindowHandle(This,wnd);
}
/*** IDesktopWindowXamlSourceNative2 methods ***/
static inline HRESULT IDesktopWindowXamlSourceNative2_PreTranslateMessage(IDesktopWindowXamlSourceNative2* This,const MSG *message,WINBOOL *result) {
    return This->lpVtbl->PreTranslateMessage(This,message,result);
}
#endif
#endif

#endif


#endif  /* __IDesktopWindowXamlSourceNative2_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */


/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __windows_ui_xaml_hosting_desktopwindowxamlsource_h__ */
