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.

61 lines
1.6 KiB

  1. /*++
  2. Copyright (c) 1997-1999 Microsoft Corporation
  3. --*/
  4. #ifndef _PDEV_H
  5. #define _PDEV_H
  6. #include <minidrv.h>
  7. #include <stdio.h>
  8. #include <winsplp.h> // RevertToPrinterSelf
  9. #include <prcomoem.h>
  10. //
  11. #define VALID_PDEVOBJ(pdevobj) \
  12. ((pdevobj) && (pdevobj)->dwSize >= sizeof(DEVOBJ) && \
  13. (pdevobj)->hEngine && (pdevobj)->hPrinter && \
  14. (pdevobj)->pPublicDM && (pdevobj)->pDrvProcs )
  15. #define ASSERT_VALID_PDEVOBJ(pdevobj) ASSERT(VALID_PDEVOBJ(pdevobj))
  16. #define ERRORTEXT(s) __TEXT("ERROR ") DLLTEXT(s)
  17. #define TESTSTRING "This is a Unidrv KM test."
  18. typedef struct tag_OEMUD_EXTRADATA {
  19. OEM_DMEXTRAHEADER dmExtraHdr;
  20. BYTE cbTestString[sizeof(TESTSTRING)];
  21. } OEMUD_EXTRADATA, *POEMUD_EXTRADATA;
  22. //
  23. // OEM Signature and version.
  24. //
  25. #define OEM_SIGNATURE 'NC82' // NEC PR820 printer driver
  26. #define DLLTEXT(s) "NC82: " s
  27. #define OEM_VERSION 0x00010000L
  28. #endif // _PDEV_H
  29. /************* Macro **************/
  30. // should create temp. file on spooler directory.
  31. #define WRITESPOOLBUF(p, b, n) \
  32. ((((p)->pDrvProcs->DrvWriteSpoolBuf((p), (b), (n))) == (DWORD)(n)) ? S_OK : E_FAIL)
  33. // DATASPOOL4FG extends DataSpool function for OEMFilterGraphics
  34. // It returns with 0 if failed.
  35. #define DATASPOOL4FG(p, h, b, l) \
  36. if ( E_FAIL == (DataSpool((p), (h), (b), (l)) )) { \
  37. return 0; \
  38. }
  39. // DATASPOOL4CCB extends DataSpool function for OEMCommandCallBack
  40. // It returns with -1 if failed.
  41. #define DATASPOOL4CCB(p, h, b, l) \
  42. if ( E_FAIL == (DataSpool((p), (h), (b), (l)) )){ \
  43. return -1; \
  44. }