xpsprint.idl 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /**
  2. * This file is part of the mingw-w64 runtime package.
  3. * No warranty is given; refer to the file DISCLAIMER within this package.
  4. */
  5. import "objidl.idl";
  6. import "oaidl.idl";
  7. import "ocidl.idl";
  8. import "xpsobjectmodel.idl";
  9. cpp_quote("#include <winapifamily.h>")
  10. cpp_quote("")
  11. cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
  12. cpp_quote("#if NTDDI_VERSION >= 0x06010000")
  13. typedef enum {
  14. XPS_JOB_IN_PROGRESS = 0,
  15. XPS_JOB_COMPLETED = 1,
  16. XPS_JOB_CANCELLED = 2,
  17. XPS_JOB_FAILED = 3
  18. } XPS_JOB_COMPLETION;
  19. typedef struct {
  20. UINT32 jobId;
  21. INT32 currentDocument;
  22. INT32 currentPage;
  23. INT32 currentPageTotal;
  24. XPS_JOB_COMPLETION completion;
  25. HRESULT jobStatus;
  26. } XPS_JOB_STATUS;
  27. [object, uuid (7a77dc5f-45d6-4dff-9307-d8cb846347ca), pointer_default (unique)]
  28. interface IXpsPrintJobStream : ISequentialStream {
  29. [local] HRESULT Close ();
  30. }
  31. [object, uuid (5ab89b06-8194-425f-ab3b-d7a96e350161), pointer_default (unique)]
  32. interface IXpsPrintJob : IUnknown {
  33. [local] HRESULT Cancel ();
  34. [local] HRESULT GetJobStatus ([out, retval] XPS_JOB_STATUS *jobStatus);
  35. }
  36. cpp_quote("HRESULT WINAPI StartXpsPrintJob (LPCWSTR printerName, LPCWSTR jobName, LPCWSTR outputFileName, HANDLE progressEvent, HANDLE completionEvent, UINT8 *printablePagesOn, UINT32 printablePagesOnCount, IXpsPrintJob **xpsPrintJob, IXpsPrintJobStream **documentStream, IXpsPrintJobStream **printTicketStream);")
  37. cpp_quote("HRESULT WINAPI StartXpsPrintJob1 (LPCWSTR printerName, LPCWSTR jobName, LPCWSTR outputFileName, HANDLE progressEvent, HANDLE completionEvent, IXpsPrintJob **xpsPrintJob, IXpsOMPackageTarget **printContentReceiver);")
  38. cpp_quote("#endif")
  39. cpp_quote("#endif")