prntvpt.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _PRNPTNTV_H_
  7. #define _PRNPTNTV_H_
  8. #include <winapifamily.h>
  9. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. DECLARE_HANDLE(HPTPROVIDER);
  14. #define PRINTTICKET_ISTREAM_APIS 1
  15. #define S_PT_NO_CONFLICT 0x00040001
  16. #define S_PT_CONFLICT_RESOLVED 0x00040002
  17. #define E_PRINTTICKET_FORMAT 0x80040003
  18. #define E_PRINTCAPABILITIES_FORMAT 0x80040004
  19. #define E_DELTA_PRINTTICKET_FORMAT 0x80040005
  20. #define E_PRINTDEVICECAPABILITIES_FORMAT 0x80040006
  21. typedef enum tagEDefaultDevmodeType {
  22. kUserDefaultDevmode,
  23. kPrinterDefaultDevmode
  24. } EDefaultDevmodeType;
  25. typedef enum {
  26. kPTPageScope,
  27. kPTDocumentScope,
  28. kPTJobScope
  29. } EPrintTicketScope;
  30. HRESULT WINAPI PTQuerySchemaVersionSupport(PCWSTR pszPrinterName, DWORD *pMaxVersion);
  31. HRESULT WINAPI PTOpenProvider(PCWSTR pszPrinterName, DWORD dwVersion, HPTPROVIDER *phProvider);
  32. HRESULT WINAPI PTOpenProviderEx(PCWSTR pszPrinterName, DWORD dwMaxVersion, DWORD dwPrefVersion, HPTPROVIDER *phProvider, DWORD *pUsedVersion);
  33. HRESULT WINAPI PTCloseProvider(HPTPROVIDER hProvider);
  34. HRESULT WINAPI PTReleaseMemory(PVOID pBuffer);
  35. HRESULT WINAPI PTGetPrintCapabilities(HPTPROVIDER hProvider, IStream *pPrintTicket, IStream *pCapabilities, BSTR *pbstrErrorMessage);
  36. HRESULT WINAPI PTGetPrintDeviceCapabilities(HPTPROVIDER hProvider, IStream *pPrintTicket, IStream *pDeviceCapabilities, BSTR *pbstrErrorMessage);
  37. HRESULT WINAPI PTGetPrintDeviceResources(HPTPROVIDER hProvider, LPCWSTR pszLocaleName, IStream *pPrintTicket, IStream *pDeviceResources, BSTR *pbstrErrorMessage);
  38. HRESULT WINAPI PTMergeAndValidatePrintTicket(HPTPROVIDER hProvider, IStream *pBaseTicket, IStream *pDeltaTicket, EPrintTicketScope scope, IStream *pResultTicket, BSTR *pbstrErrorMessage);
  39. HRESULT WINAPI PTConvertPrintTicketToDevMode(HPTPROVIDER hProvider, IStream *pPrintTicket, EDefaultDevmodeType baseDevmodeType, EPrintTicketScope scope, ULONG *pcbDevmode, PDEVMODE *ppDevmode, BSTR *pbstrErrorMessage);
  40. HRESULT WINAPI PTConvertDevModeToPrintTicket(HPTPROVIDER hProvider, ULONG cbDevmode, PDEVMODE pDevmode, EPrintTicketScope scope, IStream *pPrintTicket);
  41. #ifdef __cplusplus
  42. }
  43. #endif
  44. #endif /* WINAPI_PARTITION_DESKTOP */
  45. #endif /* _PRNPTNTV_H_ */