ReactOS  0.4.15-dev-976-g0f66c66
printprocessors.c File Reference
#include "precomp.h"
#include <prtprocenv.h>
Include dependency graph for printprocessors.c:

Go to the source code of this file.

Functions

BOOL WINAPI AddPrintProcessorW (PWSTR pName, PWSTR pEnvironment, PWSTR pPathName, PWSTR pPrintProcessorName)
 
BOOL WINAPI DeletePrintProcessorW (PWSTR pName, PWSTR pEnvironment, PWSTR pPrintProcessorName)
 
BOOL WINAPI EnumPrintProcessorDatatypesW (PWSTR pName, PWSTR pPrintProcessorName, DWORD Level, PBYTE pDatatypes, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
 
BOOL WINAPI EnumPrintProcessorsW (PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pPrintProcessorInfo, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
 
BOOL WINAPI GetPrintProcessorDirectoryW (PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pPrintProcessorInfo, DWORD cbBuf, PDWORD pcbNeeded)
 

Function Documentation

◆ AddPrintProcessorW()

BOOL WINAPI AddPrintProcessorW ( PWSTR  pName,
PWSTR  pEnvironment,
PWSTR  pPathName,
PWSTR  pPrintProcessorName 
)

Definition at line 12 of file printprocessors.c.

13 {
14  if (!pEnvironment || !*pEnvironment)
15  pEnvironment = (PWSTR)wszCurrentEnvironment;
16  return FALSE;
17 }
uint16_t * PWSTR
Definition: typedefs.h:56
const WCHAR wszCurrentEnvironment[]
Definition: prtprocenv.h:11
#define FALSE
Definition: types.h:117

Referenced by _RpcAddPrintProcessor(), and AddPrintProcessorA().

◆ DeletePrintProcessorW()

BOOL WINAPI DeletePrintProcessorW ( PWSTR  pName,
PWSTR  pEnvironment,
PWSTR  pPrintProcessorName 
)

Definition at line 20 of file printprocessors.c.

21 {
22  if (!pEnvironment || !*pEnvironment)
23  pEnvironment = (PWSTR)wszCurrentEnvironment;
24  return FALSE;
25 }
uint16_t * PWSTR
Definition: typedefs.h:56
const WCHAR wszCurrentEnvironment[]
Definition: prtprocenv.h:11
#define FALSE
Definition: types.h:117

Referenced by _RpcDeletePrintProcessor(), and DeletePrintProcessorA().

◆ EnumPrintProcessorDatatypesW()

BOOL WINAPI EnumPrintProcessorDatatypesW ( PWSTR  pName,
PWSTR  pPrintProcessorName,
DWORD  Level,
PBYTE  pDatatypes,
DWORD  cbBuf,
PDWORD  pcbNeeded,
PDWORD  pcReturned 
)

Definition at line 28 of file printprocessors.c.

29 {
30  PSPOOLSS_PRINT_PROVIDER pPrintProvider;
31 
32  // Sanity checks
33  if (cbBuf && !pDatatypes)
34  {
36  return FALSE;
37  }
38 
39  if ( cbBuf && !pDatatypes )
40  {
42  return FALSE;
43  }
44 
45  // Always call this function on the Local Spooler.
47  return pPrintProvider->PrintProvider.fpEnumPrintProcessorDatatypes(pName, pPrintProcessorName, Level, pDatatypes, cbBuf, pcbNeeded, pcReturned);
48 }
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:55
#define ERROR_INVALID_USER_BUFFER
Definition: winerror.h:1091
#define FALSE
Definition: types.h:117
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
struct _LIST_ENTRY * Flink
Definition: typedefs.h:121
static LPSTR pName
Definition: security.c:75
LIST_ENTRY PrintProviderList
Definition: main.c:12
#define SetLastError(x)
Definition: compat.h:500
_In_ DWORD _Out_ PDWORD pcbNeeded
Definition: winddi.h:3827
PRINTPROVIDOR PrintProvider
Definition: precomp.h:36
base of all file and directory entries
Definition: entries.h:82

Referenced by _RpcEnumPrintProcessorDatatypes().

◆ EnumPrintProcessorsW()

BOOL WINAPI EnumPrintProcessorsW ( PWSTR  pName,
PWSTR  pEnvironment,
DWORD  Level,
PBYTE  pPrintProcessorInfo,
DWORD  cbBuf,
PDWORD  pcbNeeded,
PDWORD  pcReturned 
)

Definition at line 51 of file printprocessors.c.

52 {
53  // Always call this function on the Local Spooler.
55 
56  if ( cbBuf && !pPrintProcessorInfo )
57  {
59  return FALSE;
60  }
61 
62  return pPrintProvider->PrintProvider.fpEnumPrintProcessors(pName, pEnvironment, Level, pPrintProcessorInfo, cbBuf, pcbNeeded, pcReturned);
63 }
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:55
#define ERROR_INVALID_USER_BUFFER
Definition: winerror.h:1091
#define FALSE
Definition: types.h:117
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
struct _LIST_ENTRY * Flink
Definition: typedefs.h:121
static LPSTR pName
Definition: security.c:75
LIST_ENTRY PrintProviderList
Definition: main.c:12
#define SetLastError(x)
Definition: compat.h:500
_In_ DWORD _Out_ PDWORD pcbNeeded
Definition: winddi.h:3827
PRINTPROVIDOR PrintProvider
Definition: precomp.h:36
base of all file and directory entries
Definition: entries.h:82

Referenced by _RpcEnumPrintProcessors(), and EnumPrintProcessorsA().

◆ GetPrintProcessorDirectoryW()

BOOL WINAPI GetPrintProcessorDirectoryW ( PWSTR  pName,
PWSTR  pEnvironment,
DWORD  Level,
PBYTE  pPrintProcessorInfo,
DWORD  cbBuf,
PDWORD  pcbNeeded 
)

Definition at line 66 of file printprocessors.c.

67 {
68  PSPOOLSS_PRINT_PROVIDER pPrintProvider;
69 
70  // Sanity checks
71  if (cbBuf && !pPrintProcessorInfo)
72  {
74  return FALSE;
75  }
76 
77  if ( cbBuf && !pPrintProcessorInfo )
78  {
80  return FALSE;
81  }
82 
83  // Always call this function on the Local Spooler.
85  return pPrintProvider->PrintProvider.fpGetPrintProcessorDirectory(pName, pEnvironment, Level, pPrintProcessorInfo, cbBuf, pcbNeeded);
86 }
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:55
#define ERROR_INVALID_USER_BUFFER
Definition: winerror.h:1091
#define FALSE
Definition: types.h:117
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
struct _LIST_ENTRY * Flink
Definition: typedefs.h:121
static LPSTR pName
Definition: security.c:75
LIST_ENTRY PrintProviderList
Definition: main.c:12
#define SetLastError(x)
Definition: compat.h:500
_In_ DWORD _Out_ PDWORD pcbNeeded
Definition: winddi.h:3827
PRINTPROVIDOR PrintProvider
Definition: precomp.h:36
base of all file and directory entries
Definition: entries.h:82

Referenced by _RpcGetPrintProcessorDirectory(), and GetPrintProcessorDirectoryA().