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
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
|
|
|