⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _msd.h

📁 Dos6.0
💻 H
📖 第 1 页 / 共 2 页
字号:
/*********************************************************************
 * Microsoft Diagnostics Version 2.0
 *
 * A diagnostic utility to detect as much useful information about a
 *   customer's computer system as is possible.
 *
 * Microsoft Diagnostics:  We detect the World.
 *
 * _MSD.H - Header file for use within MSD.C
 *
 * Note:  _MSD.H and MSD.H are interdependent.
 ********************************************************************/

#ifdef CW_INCLUDED

/* Comment this line out when we're sure the 'C' startup */
/*   code will not jump to space.                        */
float flTemp = (float) 0.0;

#include "SRMENU.H"
#include "dialogs.adm"

#endif /* CW_INCLUDED */


/* Global Variables */

BOOL fCwIsReady      = FALSE;  /* TRUE when CW is initialized           */
BOOL fBlackWhite     = FALSE;  /* TRUE for black and white operation    */
BOOL fFastStart      = FALSE;  /* TRUE for no initial detection         */
BOOL fReportFlag     = FALSE;  /* TRUE if a report is underway          */
BOOL fReportOnly     = FALSE;  /* TRUE if "/F filename" was used, or if */
                               /*   CW_INCLUDED is not defined          */
BOOL fSummaryOnly    = FALSE;  /* TRUE if MSD is to report summary      */
                               /*   information only to a file          */
BOOL fCriticalError  = FALSE;  /* Critical Error Flag                   */
BOOL fWindowsRunning = FALSE;  /* TRUE if windows is running            */

WORD wDosMajor;           /* Stores the DOS version */
WORD wDosMinor;

#ifdef CW_INCLUDED

BYTE fAdjustMsgBox = FALSE;

PWND pwndSummaryFrame = NULL;
PWND pwndMainFrame    = NULL;
PWND pwndStatusLine   = NULL;

/* For subclassing MessageBox types */
PLFN_WNDPROC OldMsgBoxProc;

LONG FAR MyMsgBoxProc (REGISTER PWND_DLG, WORD, WORD, DWORD);

/* For subclassing Edit Item types */
PLFN_WNDPROC OldEditItemProc;

LONG FAR MyEditItemProc (REGISTER PWND_EDIT, WORD, WORD, DWORD);


HMNU hmnuMenuBar = (HMNU) &pmenuBlade;

ISA_PAIR aisapColor[isaMax] =
  {
    {  7,  8 },   /*  0 = isaBackground                                   */

    { 15,  0 },   /*  1 = isaHilite                                       */
    {  8, 15 },   /*  2 = isaGreyed                                       */
    {  0, 15 },   /*  3 = isaEnabled                                      */
    {  8, 15 },   /*  4 = isaDisabled                                     */
    {  0, 15 },   /*  5 = isaAlert                                        */

    {  0, 15 },   /*  6 = isaDialogBox,     isaStatic, isaButton, isaEdit */
    {  0,  7 },   /*  7 = isaPushButton                                   */
    {  8,  7 },   /*  8 = isaButtonDown                                   */
    {  0, 15 },   /*  9 = isaListBox                                      */
    {  0, 15 },   /* 10 = isaScrollbar                                    */

    {  7,  0 },   /* 11 = isaElevator                                     */
    {  0, 15 },   /* 12 = isaMenuBox                                      */
    {  0, 15 },   /* 13 = isaMenu                                         */
    { 15,  0 },   /* 14 = isaMenuSelected                                 */
    { 12, 15 },   /* 15 = isaMenuHilite                                   */

    {  7,  0 },   /* 16 = isaMenuHiliteSel                                */
    { 12,  0 },   /* 17 = isaItemHiliteSel                                */
    { 12, 15 },   /* 18 = isaDialogAccel                                  */
    { 12, 15 },   /* 19 = isaDialogAccelBor                               */
    {  8,  8 },   /* 20 = isaShadow                                       */

    {  7,  0 },   /* 21 = isaDialogBar                                    */
    {  7,  0 },   /* 22 = isaDialogTitle                                  */
    {  0,  0 },   /* 23 = isa3DGroupBoxIn,  isa3DGroupBoxUL               */
    { 15,  7 },   /* 24 = isa3DGroupBoxOut, isa3DGroupBoxBR               */
    {  0,  7 },   /* 25 = isa3DListboxIn,   isa3DListboxUL                */

    { 15,  7 },   /* 26 = isa3DListboxOut,  isa3DListboxBR                */
    { 15,  7 },   /* 27 = isa3DPushBtnIn,   isa3DPushBtnUL                */
    {  8,  7 },   /* 28 = isa3DPushBtnOut,  isa3DPushBtnBR                */
    { 14,  7 },   /* 29 = isaButtonAccel,   isaSystemMax                  */
    { 15,  1 },   /* 30 = isaUserMin,       isaSummaryBlank               */

    { 15,  1 },   /* 31 = isaSummaryText                                  */
    {  0, 15 },   /* 32 = isaInfoActive                                   */
    {  0, 15 },   /* 33 = isaInfoActiveBorder                             */
    {  0,  8 },   /* 34 = isaInfoInactive                                 */
    {  0,  7 },   /* 35 = isaStatusLine                                   */

    {  7,  0 },   /* 36 = isaAlternate                                    */
    { 14,  0 },   /* 37 = isaMemoryMap                                    */
    {  7,  1 },   /* 38 = isaSummaryBtnShadow                             */
    {  7, 15 },   /* 39 = isaMessageBtn1                                  */
    {  4,  7 },   /* 40 = isa3DBtnHilite                                  */

    {  7,  0 },   /* 41 =                                                 */
    {  7,  0 },   /* 42 =                                                 */
    {  7,  0 },   /* 43 =                                                 */
    {  7,  0 },   /* 44 =                                                 */
    {  7,  0 }    /* 45 = isaMax,           isaUserMax, isaTemp           */
  };

ISA_PAIR aisapBlackAndWhite[isaMax] =
  {
    {  7,  0 },   /*  0 = isaBackground                                   */

    {  7,  0 },   /*  1 = isaHilite                                       */
    {  7,  0 },   /*  2 = isaGreyed                                       */
    {  0,  7 },   /*  3 = isaEnabled                                      */
    {  0,  7 },   /*  4 = isaDisabled                                     */
    {  0,  7 },   /*  5 = isaAlert                                        */

    {  0,  7 },   /*  6 = isaDialogBox,     isaStatic, isaButton, isaEdit */
    {  0,  7 },   /*  7 = isaPushButton                                   */
    {  7,  0 },   /*  8 = isaButtonDown                                   */
    {  0,  7 },   /*  9 = isaListBox                                      */
    {  0,  7 },   /* 10 = isaScrollbar                                    */

    {  7,  0 },   /* 11 = isaElevator                                     */
    {  0,  7 },   /* 12 = isaMenuBox                                      */
    {  0,  7 },   /* 13 = isaMenu                                         */
    {  7,  0 },   /* 14 = isaMenuSelected                                 */
    {  7,  0 },   /* 15 = isaMenuHilite                                   */

    {  7,  0 },   /* 16 = isaMenuHiliteSel                                */
    {  7,  0 },   /* 17 = isaItemHiliteSel                                */
    {  7,  0 },   /* 18 = isaDialogAccel                                  */
    {  7,  0 },   /* 19 = isaDialogAccelBor                               */
    {  0,  0 },   /* 20 = isaShadow                                       */

    {  7,  0 },   /* 21 = isaDialogBar                                    */
    {  7,  0 },   /* 22 = isaDialogTitle                                  */
    {  0,  0 },   /* 23 = isa3DGroupBoxIn,  isa3DGroupBoxUL               */
    {  0,  7 },   /* 24 = isa3DGroupBoxOut, isa3DGroupBoxBR               */
    {  0,  7 },   /* 25 = isa3DListboxIn,   isa3DListboxUL                */

    {  0,  7 },   /* 26 = isa3DListboxOut,  isa3DListboxBR                */
    {  0,  7 },   /* 27 = isa3DPushBtnIn,   isa3DPushBtnUL                */
    {  0,  7 },   /* 28 = isa3DPushBtnOut,  isa3DPushBtnBR                */
    {  0,  7 },   /* 29 = isaButtonAccel,   isaSystemMax                  */
    {  7,  0 },   /* 30 = isaUserMin,       isaSummaryBlank               */

    {  7,  0 },   /* 31 = isaSummaryText                                  */
    {  0,  7 },   /* 32 = isaInfoActive                                   */
    {  0,  7 },   /* 33 = isaInfoActiveBorder                             */
    {  0,  7 },   /* 34 = isaInfoInactive                                 */
    {  0,  7 },   /* 35 = isaStatusLine                                   */

    {  7,  0 },   /* 36 = isaAlternate                                    */
    {  7,  0 },   /* 37 = isaMemoryMap                                    */
    {  7,  0 },   /* 38 = isaSummaryBtnShadow                             */
    {  7,  0 },   /* 39 =                                                 */
    {  7,  0 },   /* 40 =                                                 */

    {  7,  0 },   /* 41 =                                                 */
    {  7,  0 },   /* 42 =                                                 */
    {  7,  0 },   /* 43 =                                                 */
    {  7,  0 },   /* 44 =                                                 */
    {  7,  0 }    /* 45 = isaMax,           isaUserMax, isaTemp           */
  };

#endif /* CW_INCLUDED */

/* Variables for reporting */

WORD wLineCount;          /* Current line number   */
WORD wPageCount;          /* Current page number   */
WORD wColumnCount = 0;    /* Current column number */
WORD wReportIndent = 40 - (REPORT_WIDTH / 2);  /* Left indent for reports */

PSZ  pszReportFilename = NULL;  /* Pointer to report filename */


/* Global Strings */

PSZ  paszReportTo[] =     /* Filenames to report to */
  {
    "LPT1",
    "LPT2",
    "LPT3",
    "COM1",
    "COM2",
    "COM3",
    "COM4",
    NULL
  };

WORD wReportToIndex = 0;  /* Index to paszReportTo */

FILE_INFO FAR *pfiDlg;    /* File Info for dialog processing */
TEST_PRINTER tpValue;     /* Printer test info structure */


QSZ * pqszBrowseStrings = NULL;  /* Browsed strings are returned here */
PSZ   pszBrowseTitle    = NULL;  /* Title for browsed strings         */

#define MSD_VERSION_NUMBER "2.01"
PSZ  pszVersionNumber   = MSD_VERSION_NUMBER;

PSZ  pszNull            = "";
PSZ  pszYes             = "Yes";
PSZ  pszNo              = "No";
PSZ  pszNo_             = "No ";
PSZ  pszNone            = "None";
PSZ  pszUnknown         = "Unknown";

PSZ  pszInsufMemory     = "Insufficient Memory";
PSZ  pszErrorOpening    = "Error opening";
PSZ  pszErrorClosing    = "Error Closing File";
PSZ  pszErrorWriting    = "Error Writing";
PSZ  pszErrorReading    = "Error Reading";

PSZ  pszCon             = "CON";

PSZ  pszHeaderFormatString = "   Microsoft Diagnostics version %s   %2d/%02d/%02d   %2d:%02d%s   Page%3d";

PSZ  pszPostscriptTest1 = "initgraphics\r\n"
                          "/Times-Roman findfont 18 scalefont setfont\r\n"
                          "100 700 moveto\r\n"
                          "(Microsoft Corporation ) show\r\n"
                          "100 680 moveto\r\n"
                          "(Postscript Printer Connection and Processor Test) show\r\n"
                          "100 660 moveto\r\n"
                          "(Postscript version: )show 8 0 rmoveto version show\r\n";
PSZ  pszPostscriptTest2 = "100 640 moveto\r\n"
                          "(Date:  %d/%02d/%d   Time:  %d:%02d %s) show\r\n";
PSZ  pszPostscriptTest3 = "/Times-Roman findfont 12 scalefont setfont\r\n";

PSZ  pszOutput          = "w";  /* Used for OpenFile/fopen */

BOOL rgfReportItemFlag[] =
  {
    FALSE,  /* IDI_ALL_RECORDS           */
    FALSE,  /* IDI_MSD_HEADER_RECORD     */
    TRUE,   /* IDI_CUSTOMER_INFORMATION  */
    TRUE,   /* IDI_SUMMARY_SCREEN        */
    TRUE,   /* IDI_COMPUTER_RECORD       */
    TRUE,   /* IDI_MEMORY_RECORD         */
    TRUE,   /* IDI_VIDEO_RECORD          */
    TRUE,   /* IDI_NETWORK_RECORD        */
    TRUE,   /* IDI_OS_VERSION_RECORD     */
    TRUE,   /* IDI_MOUSE_RECORD          */
    TRUE,   /* IDI_OTHER_ADAPTERS_RECORD */
    TRUE,   /* IDI_DISK_DRIVE_RECORD     */
    TRUE,   /* IDI_LPT_RECORD            */
    TRUE,   /* IDI_COM_RECORD            */
    TRUE,   /* IDI_IRQ_RECORD            */
    TRUE,   /* IDI_TSR_PROGRAMS_RECORD   */
    TRUE,   /* IDI_DEVICE_DRIVERS_RECORD */
    TRUE,   /* Memory Browser            */
    TRUE,   /* AUTOEXEC.BAT              */
    TRUE,   /* CONFIG.SYS                */
    TRUE,   /* WIN.INI                   */
    TRUE,   /* SYSTEM.INI                */
    TRUE,   /* MSMAIL.INI                */
    TRUE,   /* PROTOCOL.INI		 */
    TRUE,   /* DBLSPACE.INI		 */
    TRUE    /* MEMMAKER.STS		 */
  };


PSZ  paszDefaultMsdIni[] =
  {
    "FILES=40, , CONFIG.SYS",
    "BUFFERS=20, , CONFIG.SYS",
    "SET TEMP=C:\\WINDOWS\\TEMP, , AUTOEXEC.BAT",
    NULL
  };


char * rgszSystemFiles[] =
  {
    "AUTOEXEC.BAT",
    "CONFIG.SYS",
    "SYSTEM.INI",
    "WIN.INI",
    "MSMAIL.INI",
    "PROTOCOL.INI",
    "DBLSPACE.INI",
    "MEMMAKER.STS",
    NULL
  };

WORD iszMax2 = sizeof (rgszSystemFiles) / sizeof (PSZ);

WORD rgwSystemFiles[] =
  {
    SEARCH_BOOT_DRIVE,
    SEARCH_BOOT_DRIVE,
    SEARCH_WINDIR,
    SEARCH_WINDIR,
    SEARCH_WINDIR,
    SEARCH_LANMAN_ROOT,
    SEARCH_LOCAL_DRIVES|SEARCH_ROOT|RECURSE_INTO_SUB_DIRS,
    SEARCH_LOCAL_DRIVES|SEARCH_ROOT|RECURSE_INTO_SUB_DIRS
  };

PSZ  pszInsertCommand  = NULL;
PSZ  pszInsertSection  = NULL;
PSZ  pszInsertFilename = NULL;


/* "Computer" strings */

PSZ  paszComputerTitles[] =
  {
        "Computer Name: ",
    "BIOS Manufacturer: ",
         "BIOS Version: ",
                       "",
                       "",
        "BIOS Category: ",
        "BIOS ID Bytes: ",
            "BIOS Date: ",
            "Processor: ",
     "Math Coprocessor: ",
             "Keyboard: ",
             "Bus Type: ",
       "DMA Controller: ",
        "Cascaded IRQ2: ",
    "BIOS Data Segment: ",
    NULL
  };

PSZ  pszEnhanced        = "Enhanced";
PSZ  pszNonEnhanced     = "Non-Enhanced";

PSZ  pszXtBus           = "ISA/XT/Classic Bus";
PSZ  pszAtBus           = "ISA/AT/Classic Bus";
PSZ  pszMicroChannel    = "Micro Channel";
PSZ  pszEisaBus         = "EISA";

PSZ  pszIntel8088       = "8088 or 8086";
PSZ  pszIntel80188      = "80188";
PSZ  pszIntel80186      = "80186";
PSZ  pszIntel80286      = "80286";
PSZ  pszIntel80386      = "80386";
PSZ  pszNECV20          = "NECV20 or NECV30";
PSZ  pszIntel8087       = "8087";
PSZ  pszIntel80287      = "80287";
PSZ  pszIntel80387      = "80387";
PSZ  pszInternal        = "Internal";
PSZ  pszInteli486       = "486DX";
PSZ  pszIntel486SX      = "486SX";


/* Memory strings */

PSZ  paszMemoryTitles[] =
  {
    "Conventional Memory",
                   "Total: ",
               "Available: ",

    "Extended Memory",
                   "Total: ",

    "MS-DOS Upper Memory Blocks",
              "Total UMBs: ",
         "Total Free UMBs: ",
      "Largest Free Block: ",

    "Expanded Memory (EMS)",
             "LIM Version: ",
      "Page Frame Address: ",
                   "Total: ",
               "Available: ",

    "XMS Information",
             "XMS Version: ",
          "Driver Version: ",
        "A20 Address Line: ",
        "High Memory Area: ",
               "Available: ",
      "Largest Free Block: ",
          "Available SXMS: ",
       "Largest Free SXMS: ",
      "Total Free XMS UMB: ",
    "Largest Free XMS UMB: ",

    "VCPI Information",
           "VCPI Detected: ",
                 "Version: ",
        "Available Memory: ",

    "DPMI Information",
           "DPMI Detected: ",
                 "Version: ",
  };

PSZ  pszNoPageFrame = "No Page Frame";
PSZ  pszEnabled     = "Enabled";
PSZ  pszNotEnabled  = "Not Enabled";
PSZ  pszError       = "Error";


/* Video strings */

PSZ  paszVideoTitles[] =
  {
        "Video Adapter Type: ",
              "Manufacturer: ",
                     "Model: ",
              "Display Type: ",
                "Video Mode: ",
         "Number of Columns: ",
            "Number of Rows: ",
        "Video BIOS Version: ",
                            "",
                            "",
           "Video BIOS Date: ",
    "VESA Support Installed: ",
              "VESA Version: ",
             "VESA OEM Name: ",
         "Secondary Adapter: ",
              "TIGA Version: ",
    "TIGA Interrupt/Address: ",
    NULL
  };


/* Network Types */

PSZ  paszNetworkTypes[] =
  {
    "No Network",
    "Unknown Network",
    "MS-NET Compatible",
    "LANMAN",
    "LANMAN Basic",
    "LANMAN Enhanced",
    "Novell",
    "Banyan",
    "LANtastic",
    "PC-NFS",
    "MS Workgroup Client",
    NULL
  };

PSZ  paszNetworkTitles[] =
  {
    /* Generic network strings */

            "Network Detected: ",
                "Network Name: ",
             "Network Version: ",
    "MS-DOS Network Functions: ",
               "Computer Name: ",
             "NetBIOS Present: ",
      "NetBIOS INT 5C Address: ",

    /* LANMAN strings */

                "Network Root: ",
                   "User Name: ",
/*            "Primary Domain: ", */
                   "Workgroup: ",
           "Server Connection: ",
            "Mailslot Support: ",
                 "API Support: ",
            "LAN Manager Date: ",
         "Current Patch Level: ",

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -