mirror of https://github.com/UMSKT/xpmgr.git
145 lines
3.8 KiB
C
145 lines
3.8 KiB
C
|
|
/*++
|
|
|
|
Copyright (c) 1996-2004 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
prnptntv.h
|
|
|
|
Abstract:
|
|
|
|
Print ticket APIs for Win32 applications
|
|
|
|
--*/
|
|
|
|
#ifndef _PRNPTNTV_H_
|
|
#define _PRNPTNTV_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
DECLARE_HANDLE(HPTPROVIDER);
|
|
|
|
#define PRINTTICKET_ISTREAM_APIS 1
|
|
|
|
#define S_PT_NO_CONFLICT (0x00040001)
|
|
#define S_PT_CONFLICT_RESOLVED (0x00040002)
|
|
|
|
/*
|
|
PrintTicket stream provided by the caller did not
|
|
follow PrintTicket framework specification or the XML
|
|
could not be parsed. If returned by
|
|
PTMergeAndValidatePrintTicket, it indicates that the
|
|
base ticket contained the error.
|
|
*/
|
|
#define E_PRINTTICKET_FORMAT (0x80040003)
|
|
|
|
/*
|
|
PrintCapabilities document generated by the driver
|
|
did not follow the specification. This indicates an
|
|
error in the driver.
|
|
*/
|
|
#define E_PRINTCAPABILITIES_FORMAT (0x80040004)
|
|
|
|
/*
|
|
The delta print ticket parameter passed to
|
|
PTMergeAndValidatePrintTicket did not
|
|
follow PrintTicket framework specification or
|
|
the XML could not be parsed.
|
|
*/
|
|
#define E_DELTA_PRINTTICKET_FORMAT (0x80040005)
|
|
|
|
typedef enum tagEDefaultDevmodeType
|
|
{
|
|
kUserDefaultDevmode,
|
|
kPrinterDefaultDevmode
|
|
} EDefaultDevmodeType;
|
|
|
|
typedef enum
|
|
{
|
|
kPTPageScope,
|
|
kPTDocumentScope,
|
|
kPTJobScope
|
|
} EPrintTicketScope;
|
|
|
|
|
|
HRESULT WINAPI
|
|
PTQuerySchemaVersionSupport(
|
|
__in PCWSTR pszPrinterName,
|
|
__out DWORD *pMaxVersion
|
|
);
|
|
|
|
HRESULT WINAPI
|
|
PTOpenProvider(
|
|
__in PCWSTR pszPrinterName,
|
|
DWORD dwVersion,
|
|
__out HPTPROVIDER *phProvider
|
|
);
|
|
|
|
HRESULT WINAPI
|
|
PTOpenProviderEx(
|
|
__in PCWSTR pszPrinterName,
|
|
DWORD dwMaxVersion,
|
|
DWORD dwPrefVersion,
|
|
__out HPTPROVIDER *phProvider,
|
|
__out DWORD *pUsedVersion
|
|
);
|
|
|
|
HRESULT WINAPI
|
|
PTCloseProvider(
|
|
__in HPTPROVIDER hProvider
|
|
);
|
|
|
|
HRESULT WINAPI
|
|
PTReleaseMemory(
|
|
__in PVOID pBuffer
|
|
);
|
|
|
|
HRESULT WINAPI
|
|
PTGetPrintCapabilities(
|
|
__in HPTPROVIDER hProvider,
|
|
__in_opt IStream *pPrintTicket,
|
|
__inout IStream *pCapabilities,
|
|
__out_opt BSTR *pbstrErrorMessage
|
|
);
|
|
|
|
HRESULT WINAPI
|
|
PTMergeAndValidatePrintTicket(
|
|
__in HPTPROVIDER hProvider,
|
|
__in IStream *pBaseTicket,
|
|
__in_opt IStream *pDeltaTicket,
|
|
__in EPrintTicketScope scope,
|
|
__inout IStream *pResultTicket,
|
|
__out_opt BSTR *pbstrErrorMessage
|
|
);
|
|
|
|
HRESULT WINAPI
|
|
PTConvertPrintTicketToDevMode(
|
|
__in HPTPROVIDER hProvider,
|
|
__in IStream *pPrintTicket,
|
|
EDefaultDevmodeType baseDevmodeType,
|
|
__in EPrintTicketScope scope,
|
|
__out ULONG *pcbDevmode,
|
|
__deref_out_bcount(*pcbDevmode) OUT PDEVMODE *ppDevmode,
|
|
__out_opt BSTR *pbstrErrorMessage
|
|
);
|
|
|
|
HRESULT WINAPI
|
|
PTConvertDevModeToPrintTicket(
|
|
__in HPTPROVIDER hProvider,
|
|
ULONG cbDevmode,
|
|
__in PDEVMODE pDevmode,
|
|
__in EPrintTicketScope scope,
|
|
__inout IStream *pPrintTicket
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* _PRNPTNTV_H_ */
|
|
|
|
|