/*  PrintManagerInterop.idl
 *
 *	IDL defines for COM APIs to support interop with Windows.Graphics.Printing.PrintManager
 *
 *	Copyright (c) Microsoft Corporation. All rights reserved
 */

import "inspectable.idl";
import "asyncinfo.idl";

cpp_quote("#include <winapifamily.h>")

cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")

#pragma region Desktop Family
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")

[
    uuid(c5435a42-8d43-4e7b-a68a-ef311e392087),
]
interface IPrintManagerInterop : IInspectable
{
    HRESULT GetForWindow(
            [in] HWND appWindow,
            [in] REFIID riid,
            [out, retval, iid_is(riid)] void** printManager);

    HRESULT ShowPrintUIForWindowAsync(
            [in] HWND appWindow,
            [in] REFIID riid,
            [out, retval, iid_is(riid)] void** asyncOperation);
}

cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */")
#pragma endregion

cpp_quote("#endif //(NTDDI_VERSION >= NTDDI_WIN8)")


