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.
|
|
//************************************************************************
// Common header file for generic Win 3.1 fax printer driver support.
//
// History:
// 02-jan-95 nandurir created.
// 01-feb-95 reedb Clean-up, support printer install and bug fixes.
// 14-mar-95 reedb Use GDI hooks to move most functionality to UI.
// 16-aug-95 reedb Move to kernel mode. Move many declarations and
// definitions to WOWFAXDD.H and WOWFAXUI.H.
//
//************************************************************************
#include "wowfax.h"
// The following structure ID appears as wfax when dumping byte (db) a FAXDEV:
#define FAXDEV_ID ((DWORD)'xafw')
//
// This structure is shared between wowfax and wowfaxui - this keeps
// the interface reliable, consistent and easy to maintain
//
typedef struct _FAXDEV { ULONG id; // String to verify what we have
struct _FAXDEV *lpNext; struct _FAXDEV *lpClient; // Pointer to client side FAXDEV
HDEV hdev; // Engine's handle to this structure
DWORD idMap; // Unique ID
DWORD cbMapLow; // Loword of size of mapped area
HANDLE hMap; // Handle to mapped file
TCHAR szMap[16]; // Name of mapped file
LPWOWFAXINFO lpMap; DWORD offbits;
HBITMAP hbm; // Handle to bitmap for drawing
DWORD cPixPerByte; DWORD bmFormat; DWORD bmWidthBytes; HSURF hbmSurf; // Associated surface
HWND hwnd; DWORD tid; DWORD lpinfo16;
HANDLE hDriver; // For access to spooler data
GDIINFO gdiinfo; DEVINFO devinfo; PDEVMODE pdevmode; } FAXDEV, *LPFAXDEV;
// Macro to dword align for RISC
//#define DRVFAX_DWORDALIGN(dw) ((dw) += ((dw) % 4) ? (4 - ((dw) % 4)) : 0)
#define DRVFAX_DWORDALIGN(dw) ((dw) = (((dw) + 3) & ~3))
// DrvEscape escape/action codes:
#define DRV_ESC_GET_FAXDEV_PTR 0x8000
#define DRV_ESC_GET_DEVMODE_PTR 0x8001
#define DRV_ESC_GET_BITMAP_BITS 0x8002
#define DRV_ESC_GET_SURF_INFO 0x8003
|