wineoss: Use mmdevapi's AudioClient3.
[wine.git] / include / prntvpt.h
blobe060a26190a51a954771145b5db62ee7cfb06645
1 /*
2 * Copyright (C) 2015 Nikolay Sivov for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef _PRNPTNTV_H_
20 #define _PRNPTNTV_H_
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
26 DECLARE_HANDLE(HPTPROVIDER);
28 #define S_PT_NO_CONFLICT 0x00040001
29 #define S_PT_CONFLICT_RESOLVED 0x00040002
30 #define E_PRINTTICKET_FORMAT 0x80040003
32 typedef enum
34 kPTPageScope,
35 kPTDocumentScope,
36 kPTJobScope
37 } EPrintTicketScope;
39 typedef enum
41 kUserDefaultDevmode,
42 kPrinterDefaultDevmode
43 } EDefaultDevmodeType;
45 HRESULT WINAPI PTOpenProvider(const WCHAR *printer, DWORD version, HPTPROVIDER *provider);
46 HRESULT WINAPI PTOpenProviderEx(const WCHAR *printer, DWORD max_version, DWORD pref_version, HPTPROVIDER *provider, DWORD *used_version);
47 HRESULT WINAPI PTCloseProvider(HPTPROVIDER);
48 HRESULT WINAPI PTConvertDevModeToPrintTicket(HPTPROVIDER, ULONG, PDEVMODEW, EPrintTicketScope, IStream *);
49 HRESULT WINAPI PTConvertPrintTicketToDevMode(HPTPROVIDER, IStream *, EDefaultDevmodeType, EPrintTicketScope, ULONG *, PDEVMODEW *, BSTR *);
50 HRESULT WINAPI PTGetPrintCapabilities(HPTPROVIDER, IStream *, IStream *, BSTR *);
51 HRESULT WINAPI PTMergeAndValidatePrintTicket(HPTPROVIDER, IStream *, IStream *, EPrintTicketScope, IStream *, BSTR *);
52 HRESULT WINAPI PTReleaseMemory(PVOID);
54 #ifdef __cplusplus
56 #endif
58 #endif /* _PRNPTNTV_H_ */