2 * PROJECT: ReactOS Spooler Router
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Functions related to Spool File
5 * COPYRIGHT: Copyright 1998-2022 ReactOS
13 HANDLE hProcessHandle
,
15 PFILE_INFO_1 pFileInfo
,
20 HANDLE hHandle
, hSourceProcessHandle
;
21 PSPOOLSS_PRINTER_HANDLE pHandle
= (PSPOOLSS_PRINTER_HANDLE
)hPrinter
;
26 SetLastError(ERROR_INVALID_PARAMETER
);
30 hSourceProcessHandle
= GetCurrentProcess();
32 // No Local? Ok, what ever...
34 Ret
= pHandle
->pPrintProvider
->PrintProvider
.fpGetSpoolFileInfo( pHandle
->hPrinter
,
38 hSourceProcessHandle
);
41 pFileInfo
->hSpoolFileHandle
= hHandle
;
42 pFileInfo
->bInheritHandle
= TRUE
;
43 pFileInfo
->dwOptions
= DUPLICATE_CLOSE_SOURCE
;
52 HANDLE hProcessHandle
,
55 PFILE_INFO_1 pFileInfo
,
59 PSPOOLSS_PRINTER_HANDLE pHandle
= (PSPOOLSS_PRINTER_HANDLE
)hPrinter
;
64 SetLastError(ERROR_INVALID_PARAMETER
);
68 pFileInfo
->hSpoolFileHandle
= INVALID_HANDLE_VALUE
;
69 pFileInfo
->bInheritHandle
= TRUE
;
70 pFileInfo
->dwOptions
= DUPLICATE_CLOSE_SOURCE
;
72 return pHandle
->pPrintProvider
->PrintProvider
.fpCommitSpoolData( hPrinter
, cbCommit
);
76 SplCloseSpoolFileHandle( HANDLE hPrinter
)
78 PSPOOLSS_PRINTER_HANDLE pHandle
= (PSPOOLSS_PRINTER_HANDLE
)hPrinter
;
83 SetLastError(ERROR_INVALID_PARAMETER
);
87 return pHandle
->pPrintProvider
->PrintProvider
.fpCloseSpoolFileHandle( pHandle
->hPrinter
);