spltypes.h
上传用户:looem2003
上传日期:2014-07-20
资源大小:13733k
文件大小:2k
源码类别:

打印编程

开发平台:

Visual C++

  1. /*++
  2. Copyright (c) 1990-2003  Microsoft Corporation
  3. All rights reserved
  4. Module Name:
  5.     spltypes.h
  6. --*/
  7. #ifndef _SPLTYPES_H_
  8. #define _SPLTYPES_H_
  9. #define ILM_SIGNATURE   0x4d4c49  /* 'ILM' is the signature value */
  10. typedef struct _INIPORT  *PINIPORT;
  11. typedef struct _INIXCVPORT  *PINIXCVPORT;
  12. typedef struct _INILOCALMON {
  13.     DWORD signature;
  14.     PMONITORINIT pMonitorInit;
  15.     PINIPORT pIniPort;
  16.     PINIXCVPORT pIniXcvPort;
  17. } INILOCALMON, *PINILOCALMON;
  18. typedef struct _INIENTRY {
  19.     DWORD       signature;
  20.     DWORD       cb;
  21.     struct _INIENTRY *pNext;
  22.     DWORD       cRef;
  23.     LPWSTR      pName;
  24. } INIENTRY, *PINIENTRY;
  25. // IMPORTANT: the offset to pNext in INIPORT must be the same as in INIXCVPORT (DeletePortNode)
  26. typedef __struct_bcount(cb) struct _INIPORT {       /* ipo */
  27.     DWORD   signature;
  28.     DWORD   cb;
  29.     __field_ecount_opt(1) struct  _INIPORT *pNext;
  30.     DWORD   cRef;
  31.     LPWSTR  pName;
  32.     HANDLE  hFile;               // File handle
  33.     DWORD   cbWritten;
  34.     DWORD   Status;              // see PORT_ manifests
  35.     LPWSTR  pPrinterName;
  36.     LPWSTR  pDeviceName;
  37.     HANDLE  hPrinter;
  38.     DWORD   JobId;
  39.     PINILOCALMON        pIniLocalMon;
  40.     LPBYTE              pExtra;
  41.     TCHAR  fileName[4*MAX_PATH];
  42. } INIPORT, *PINIPORT;
  43. #define IPO_SIGNATURE   0x5450  /* 'PT' is the signature value */
  44. // IMPORTANT: the offset to pNext in INIXCVPORT must be the same as in INIPORT (DeletePortNode)
  45. typedef __struct_bcount(cb) struct _INIXCVPORT {
  46.     DWORD       signature;
  47.     DWORD       cb;
  48.     __field_ecount_opt(1) struct      _INIXCVPORT *pNext;
  49.     DWORD       cRef;
  50.     DWORD       dwMethod;
  51.     LPWSTR      pszName;
  52.     DWORD       dwState;
  53.     ACCESS_MASK GrantedAccess;
  54.     PINILOCALMON pIniLocalMon;
  55. } INIXCVPORT, *PINIXCVPORT;
  56. #define XCV_SIGNATURE   0x5843  /* 'XC' is the signature value */
  57. #define PP_DOSDEVPORT     0x0001  // A port for which we did DefineDosDevice
  58. #define PP_COMM_PORT      0x0002  // A port for which GetCommTimeouts was successful
  59. #define PP_FILEPORT       0x0004  // The port is a file port
  60. #define PP_STARTDOC       0x0008  // Port is in use (startdoc called)
  61. #define FindPort(pIniLocalMon, psz)                          
  62.     (PINIPORT)LcmFindIniKey( (PINIENTRY)pIniLocalMon->pIniPort, 
  63.                           (LPWSTR)(psz))
  64. #endif // _SPLTYPES_H_