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;
  • 相关阅读:
    Preliminaries for Benelux Algorithm Programming Contest 2019: I. Inquiry I
    Preliminaries for Benelux Algorithm Programming Contest 2019:A:Architecture
    pta刷题:L1-008 求整数段和 (10分)记录总结
    关系代数复习ing
    操作系统学习笔记:银行家算法浅谈
    mysql学习笔记:复习ing
    mysql学习笔记:集合运算并交差,其他
    JZOJ1900. 【2010集训队出题】矩阵
    【2019暑假】08.14比赛总结
    【2019暑假集训】08.13比赛总结
  • 原文地址:https://www.cnblogs.com/ahuo/p/1079562.html
Copyright © 2011-2022 走看看