Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

169 lines
4.4 KiB

#ifndef __PROXYPORT__
#define __PROXYPORT__
typedef KPBYTE SERVERPTR;
typedef KPBYTE CLIENTPTR;
typedef struct _PROXYMSG {
PORT_MESSAGE h;
ULONG cjIn;
SERVERPTR pvIn;
ULONG cjOut;
SERVERPTR pvOut;
} PROXYMSG, *PPROXYMSG;
typedef struct
{
UMPDTHDR umpdthdr;
KERNEL_PVOID umpdCookie;
DWORD clientPid;
DWORD hPrinter32;
} UMPDSIMPLEINPUT, *PUMPDSIMPLEINPUT;
//
// XXXX_UMPD must match the definition in winspool.h.
// The only difference is the pointers are widened.
//
typedef struct _DRIVER_INFO_5W_UMPD {
DWORD cVersion;
KLPWSTR pName;
KLPWSTR pEnvironment;
KLPWSTR pDriverPath;
KLPWSTR pDataFile;
KLPWSTR pConfigFile;
DWORD dwDriverAttributes;
DWORD dwConfigVersion;
DWORD dwDriverVersion;
} DRIVER_INFO_5W_UMPD, *PDRIVER_INFO_5W_UMPD, *LPDRIVER_INFO_5W_UMPD;
typedef struct
{
KLPWSTR pDatatype;
KPBYTE pDevMode;
ACCESS_MASK DesiredAccess;
} PRINTERDEFSW_UMPD, *PPRINTERDEFSW_UMPD;
typedef struct
{
UMPDTHDR umpdthdr;
DRIVER_INFO_5W_UMPD driverInfo;
KLPWSTR pPrinterName;
PRINTERDEFSW_UMPD defaults;
DWORD clientPid;
DWORD hPrinter32;
} LOADDRIVERINPUT, *PLOADDRIVERINPUT;
typedef struct
{
UMPDTHDR umpdthdr;
KERNEL_PVOID umpdCookie;
DWORD clientPid;
DWORD hPrinter32;
BOOL bNotifySpooler;
} UNLOADDRIVERINPUT, *PUNLOADDRIVERINPUT;
typedef struct _DOCEVENT_CREATEDCPRE_UMPD
{
KPBYTE pszDriver;
KPBYTE pszDevice;
KPBYTE pdm;
BOOL bIC;
} DOCEVENT_CREATEDCPRE_UMPD, *PDOCEVENT_CREATEDCPRE_UMPD;
typedef struct _DOCEVENT_ESCAPE_UMPD
{
int iEscape;
int cjInput;
KPBYTE pvInData;
} DOCEVENT_ESCAPE_UMPD, *PDOCEVENT_ESCAPE_UMPD;
typedef struct
{
UMPDTHDR umpdthdr;
KERNEL_PVOID umpdCookie;
DWORD clientPid;
DWORD hPrinter32;
KHDC hdc;
INT iEsc;
ULONG cjIn;
KPBYTE pvIn;
ULONG cjOut;
KPBYTE pvOut;
KPBYTE pdmCopy;
} DOCUMENTEVENTINPUT, *PDOCUMENTEVENTINPUT;
//
// XXXX_UMPD must match the definition in winspool.h.
// The only difference is the pointers are widened.
//
typedef struct _DOC_INFO_3W_UMPD {
KLPWSTR pDocName;
KLPWSTR pOutputFile;
KLPWSTR pDatatype;
DWORD dwFlags;
} DOC_INFO_3W_UMPD, *PDOC_INFO_3W_UMPD, *LPDOC_INFO_3W_UMPD;
typedef struct
{
UMPDTHDR umpdthdr;
KERNEL_PVOID umpdCookie;
DWORD clientPid;
DWORD hPrinter32;
DWORD level;
DOC_INFO_3W_UMPD docInfo;
ULONG lastError;
} STARTDOCPRINTERWINPUT, *PSTARTDOCPRINTERWINPUT;
//
// XXXX_UMPD must match the definition in wingdi.h.
// The only difference is the pointers are widened.
//
typedef struct _DOCINFOW_UMPD {
int cbSize;
KLPWSTR lpszDocName;
KLPWSTR lpszOutput;
KLPWSTR lpszDatatype;
DWORD fwType;
} DOCINFOW_UMPD, *LPDOCINFOW_UMPD;
typedef struct
{
UMPDTHDR umpdthdr;
KERNEL_PVOID umpdCookie;
DWORD clientPid;
DWORD hPrinter32;
DOCINFOW_UMPD docInfo;
KLPWSTR lpwstr;
} STARTDOCDLGWINPUT, *PSTARTDOCDLGWINPUT;
//
// XXXX_UMPD must match the definition in winspool.h.
// The only difference is the pointers are widened.
//
typedef struct
{
UMPDTHDR umpdthdr;
KERNEL_PVOID umpdCookie;
DWORD clientPid;
DWORD hPrinter32;
PRINTERDEFSW_UMPD ptrDef;
} RESETPRINTERWINPUT, *PRESETPRINTERWINPUT;
typedef struct
{
UMPDTHDR umpdthdr;
KERNEL_PVOID umpdCookie;
DWORD clientPid;
DWORD hPrinter32;
DEVMODEW* pDevMode;
ULONG ulQueryMode;
PVOID pvProfileData;
ULONG cjProfileSize;
FLONG flProfileFlag;
ULONG lastError;
} QUERYCOLORPROFILEINPUT, *PQUERYCOLORPROFILEINPUT;
#endif