zoukankan      html  css  js  c++  java
  • SHD文件结构(print spooler)


    #define SHD_SIGNATURE_WIN98    $0000494B //Windows 98
    #define SHD_SIGNATURE_WINNT    $00004966 //Windows NT
    #define SHD_SIGNATURE_WIN2000  $00004967 //Win2000/XP
    #define SHD_SIGNATURE_WIN2003  $00004968 //Windows 2003
     
    typedef struct _SHADOW_FILE_HEADER_WIN98 {
      DWORD dwSignature;        //SHD_SIGNATURE_WIN98
      WORD wStatus;
      WORD wUnknown1;
      DWORD dwJobID;
      DWORD dwPriority;
      DWORD offUserName;        //Offset of WideChar+0
      DWORD offNotifyName;      //Offset of WideChar+0
      DWORD offDocumentName;    //Offset of WideChar+0
      DWORD offPort;            //Offset of WideChar+0
      DWORD offPrinterName;     //Offset of WideChar+0
      DWORD offDriverName;      //Offset of WideChar+0
      DWORD offDevMode;         //Offset of DEVMODE
            //Note that the dmCopies in this structure will hold
            //the wrong value when the Microsoft Word multiple
            //copies bug occurs.
            //In this case use the dmCopies from the SPL file
      DWORD offPrintProcessor;  //Offset of WideChar+0
      DWORD offDataFormat;      //Offset of WideChar+0
      DWORD dwUnknown2;
      SYSTEMTIME stSubmitTime;
      DWORD dwStartTime;
      DWORD dwUntilTime;
      DWORD dwSizeSPL;          //Size of SPL File
      DWORD dwPageCount;
      DWORD dwSizeSecurityInfo; //Size of SecurityInfo
      DWORD offSecurityInfo;    //Offset of SECURITY_DESCRIPTOR
      DWORD dwUnknown3;
    } SHADOW_FILE_HEADER_WIN98, *PSHADOW_FILE_HEADER_WIN98;
     
    typedef struct _SHADOW_FILE_HEADER_WINNT {
      DWORD dwSignature;        //SHD_SIGNATURE_WINNT
      WORD wStatus;
      WORD wUnknown1;
      DWORD dwJobID;
      DWORD dwPriority;
      DWORD offUserName;        //Offset of WideChar+0
      DWORD offNotifyName;      //Offset of WideChar+0
      DWORD offDocumentName;    //Offset of WideChar+0
      DWORD offPort;            //Offset of WideChar+0
      DWORD offPrinterName;     //Offset of WideChar+0
      DWORD offDriverName;      //Offset of WideChar+0
      DWORD offDevMode;         //Offset of DEVMODE
            //Note that the dmCopies in this structure will hold
            //the wrong value when the Microsoft Word multiple
            //copies bug occurs.
            //In this case use the dmCopies from the SPL file
      DWORD offPrintProcessor;  //Offset of WideChar+0
      DWORD offDataFormat;      //Offset of WideChar+0
      DWORD dwUnknown2;
      SYSTEMTIME stSubmitTime;
      DWORD dwStartTime;
      DWORD dwUntilTime;
      DWORD dwSizeSPL;          //Size of SPL File
      DWORD dwPageCount;
      DWORD dwSizeSecurityInfo; //Size of SecurityInfo
      DWORD offSecurityInfo;    //Offset of SECURITY_DESCRIPTOR
      DWORD dwUnknown3;
      DWORD dwUnknown4;
      DWORD dwUnknown5;
    } SHADOW_FILE_HEADER_WINNT, *PSHADOW_FILE_HEADER_WINNT;
     
    typedef struct _SHADOW_FILE_HEADER_WIN2000 {
      DWORD dwSignature;        //SHD_SIGNATURE_WIN2000
      DWORD dwHeaderSize;
      WORD wStatus;
      WORD wUnknown1;
      DWORD dwJobID;
      DWORD dwPriority;
      DWORD offUserName;        //Offset of WideChar+0
      DWORD offNotifyName;      //Offset of WideChar+0
      DWORD offDocumentName;    //Offset of WideChar+0
      DWORD offPort;            //Offset of WideChar+0
      DWORD offPrinterName;     //Offset of WideChar+0
      DWORD offDriverName;      //Offset of WideChar+0
      DWORD offDevMode;         //Offset of DEVMODE
            //Note that the dmCopies in this structure will hold
            //the wrong value when the Microsoft Word multiple
            //copies bug occurs.
            //In this case use the dmCopies from the SPL file
      DWORD offPrintProcessor;  //Offset of WideChar+0
      DWORD offDataFormat;      //Offset of WideChar+0
      DWORD dwUnknown2;
      SYSTEMTIME stSubmitTime;
      DWORD dwStartTime;
      DWORD dwUntilTime;
      DWORD dwSizeSPL;          //Size of SPL File
      DWORD dwPageCount;
      DWORD dwSizeSecurityInfo; //Size of SecurityInfo
      DWORD offSecurityInfo;    //Offset of SECURITY_DESCRIPTOR
      DWORD dwUnknown3;
      DWORD dwUnknown4;
      DWORD dwUnknown5;
      DWORD offComputername;    //Offset of WideChar+0
      DWORD dwSPLSize2;
    } SHADOW_FILE_HEADER_WIN2000, *PSHADOW_FILE_HEADER_WIN2000;
     
    /* _SHADOW_FILE_HEADER_WIN2003 looks similar to _SHADOW_FILE_HEADER_WIN2000 */
    typedef _SHADOW_FILE_HEADER_WIN2000 _SHADOW_FILE_HEADER_WIN2003;
    typedef _SHADOW_FILE_HEADER_WIN2003 SHADOW_FILE_HEADER_WIN2003, *PSHADOW_FILE_HEADER_WIN2003;
  • 相关阅读:
    手把手带你玩转 DialogFragment
    紧张的去京东面试7,没想到可以成功拿下offer
    这个有点强,MySQL常用优化指南及大表优化思路(值得收藏)
    Java程序员两年经验斩获头条 Offer,技术杠杠的
    为什么大家都说 SELECT * 效率低
    Java程序员想要靠外包刷题,结果却大跌眼镜,心态都崩了
    一次请求在SpringMVC核心执行流程
    工作三年经验,一年内我靠这份javaBAT进阶面试题从13K到大厂25K
    用了这么久的数据库连接池,你知道原理吗?
    poj 3295 Tautology(栈)
  • 原文地址:https://www.cnblogs.com/ahuo/p/1079562.html
Copyright © 2011-2022 走看看