ReactOS
0.4.16-dev-136-g52192f1
init.c
Go to the documentation of this file.
1
/*
2
* PROJECT: ReactOS Print Spooler Service
3
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4
* PURPOSE: Various initialization functions
5
* COPYRIGHT: Copyright 2015-2017 Colin Finck (colin@reactos.org)
6
*/
7
8
#include "
precomp.h
"
9
10
DWORD
11
_RpcSpoolerInit
(
VOID
)
12
{
13
DWORD
dwErrorCode;
14
15
// Call SpoolerInit in the security context of the client.
16
// This delay-loads spoolss.dll in the user context and all further calls to functions in spoolss.dll will be done in the user context as well.
17
dwErrorCode =
RpcImpersonateClient
(
NULL
);
18
if
(dwErrorCode !=
ERROR_SUCCESS
)
19
{
20
ERR
(
"RpcImpersonateClient failed with error %lu!\n"
, dwErrorCode);
21
return
dwErrorCode;
22
}
23
24
if
(!
SpoolerInit
())
25
dwErrorCode =
GetLastError
();
26
27
RpcRevertToSelf
();
28
return
dwErrorCode;
29
}
ERR
#define ERR(fmt,...)
Definition:
precomp.h:57
ERROR_SUCCESS
#define ERROR_SUCCESS
Definition:
deptool.c:10
NULL
#define NULL
Definition:
types.h:112
DWORD
unsigned long DWORD
Definition:
ntddk_ex.h:95
void
Definition:
nsiface.idl:2307
RpcRevertToSelf
RPC_STATUS WINAPI RpcRevertToSelf(void)
Definition:
rpc_binding.c:1463
RpcImpersonateClient
RPC_STATUS WINAPI RpcImpersonateClient(RPC_BINDING_HANDLE BindingHandle)
Definition:
rpc_binding.c:1056
SpoolerInit
BOOL WINAPI SpoolerInit(VOID)
Definition:
main.c:248
_RpcSpoolerInit
DWORD _RpcSpoolerInit(VOID)
Definition:
init.c:11
precomp.h
GetLastError
DWORD WINAPI GetLastError(void)
Definition:
except.c:1042
win32ss
printing
base
spoolsv
init.c
Generated on Tue Oct 15 2024 06:14:43 for ReactOS by
1.9.6