mirror of https://github.com/tongzx/nt5src
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.
64 lines
2.1 KiB
64 lines
2.1 KiB
//************************************************************************
|
|
// 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
|
|
|
|
|