Annotation of mstools/mssetup/sample/mscpydis.c, revision 1.1.1.1

1.1       root        1: #include <windows.h>
                      2: #include "setupapi.h"
                      3: #include "mscpydis.h"
                      4: 
                      5: #define cchMax 255
                      6: 
                      7: static char szCuiDll[] = "mscuistf.dll";
                      8: 
                      9: 
                     10: // **************************************************************************
                     11: int FAR PASCAL InitSystemRead(int did, LPSTR sz, int fNet)
                     12: {
                     13: #ifdef DEBUG
                     14:        int   n;
                     15:        char  szDid[cchMax*3], szNet[cchMax];
                     16:        LPSTR szTmp;
                     17: 
                     18:        n = 0;
                     19:        if ((did < 1) || (did > 999))
                     20:                n = 1;
                     21:        else if (FValidSz(sz) && (InStr(1, sz, "\\") != 0))
                     22:                n = 2;
                     23: 
                     24:        if (n > 0)
                     25:                {
                     26:                wsprintf(szDid, "%d", did);
                     27:                wsprintf(szNet, "%d", fNet);
                     28:                szTmp = SzCat2Str(szDid, ", ", sz);
                     29:                BadArgErr(n, "InitSystemRead", SzCat2Str(szTmp, ", ", szNet));
                     30:                }
                     31: #endif // DEBUG
                     32: 
                     33:        return(FInitSystem1(did, sz, fNet));
                     34: }
                     35: 
                     36: 
                     37: // **************************************************************************
                     38: int FAR PASCAL InitSystemWrite(int did, LPSTR sz, int fAlways)
                     39: {
                     40: #ifdef DEBUG
                     41:        int  n;
                     42:        char szDid[cchMax * 3], szAlways[cchMax];
                     43:        LPSTR szTmp;
                     44: 
                     45:        n = 0;
                     46:        if ((did < 1) || (did > 999))
                     47:                n = 1;
                     48:        else if (FValidSz(sz) && (InStr(1, sz,"\\") != 0))
                     49:                n = 2;
                     50:        if (n > 0)
                     51:                {
                     52:                wsprintf(szDid, "%d", did);
                     53:                wsprintf(szAlways, "%d", fAlways);
                     54:                szTmp = SzCat2Str(szDid, ", ", sz);
                     55:                BadArgErr(n, "InitSystemWrite", SzCat2Str(szTmp, ", ", szAlways));
                     56:                }
                     57: #endif // DEBUG
                     58: 
                     59:        return(FInitSystem3(did, sz, fAlways));
                     60: }
                     61: 
                     62: 
                     63: // *************************************************************************
                     64: void FAR PASCAL CloseSystem(LPSTR szSect, LPSTR szKey, LPSTR szDst,
                     65:                int wResType, int wResId)
                     66: {
                     67: #ifdef DEBUG
                     68:        int   n;
                     69:        LPSTR szTmp;
                     70:        char  szResType[cchMax], szResId[cchMax];
                     71: 
                     72:        if (FValidInfSect(szSect) == 0)
                     73:                n = 1;
                     74:        else if (FEmptySz(szKey))
                     75:                n = 2;
                     76: #if defined(WIN16)
                     77:        else if (FValidFATDir(szDst) == 0)
                     78: #elif defined(WIN32)
                     79:        else if (FValidDir(szDst) == 0)
                     80: #endif
                     81:                n = 3;
                     82:        else
                     83:                n = 0;
                     84:        if (n > 0)
                     85:                {
                     86:                szTmp = SzCat2Str(szSect, szKey, szDst);
                     87:                wsprintf(szResType, "%d", wResType);
                     88:                wsprintf(szResId, "%d", wResId);
                     89:                BadArgErr(n, "CloseSystem", SzCat2Str(szTmp, szResType, szResId));
                     90:                }
                     91: #endif // DEBUG
                     92: 
                     93:        if (FCloseSystem(szSect, szKey, szDst, wResType, wResId) == 0)
                     94:                {
                     95: #ifdef DEBUG
                     96:                LPSTR szTmp;
                     97:                char  szResType[cchMax], szResId[cchMax];
                     98: 
                     99:                szTmp = SzCat2Str(szSect, szKey, szDst);
                    100:                wsprintf(szResType, "%d", wResType);
                    101:                wsprintf(szResId, "%d", wResId);
                    102:                StfApiErr(saeFail, "CloseSystem", SzCat2Str(szTmp, szResType, szResId));
                    103: #endif // DEBUG
                    104:                SetupError(STFERR);
                    105:                }
                    106: }
                    107: 
                    108: 
                    109: // **************************************************************************
                    110: int FAR PASCAL InitSystem(int did, LPSTR sz, int fNet)
                    111: {
                    112:        return(InitSystemRead(did, sz, fNet)
                    113:                        && InitSystemDlgs(fNet)
                    114:                        && InitSystemWrite(did, sz, 0));
                    115: }
                    116: 
                    117: 
                    118: // **************************************************************************
                    119: int FAR PASCAL InitSystemDlgs(int fNet)
                    120: {
                    121:        int   fOkay = 0;
                    122:        char  rgchName[64];
                    123:        char  rgchOrg[64];
                    124:        char  rgchType[16];
                    125:        char  rgchReturn[32];
                    126:        char  rgchTmp[64];
                    127:        LPSTR szTmp;
                    128: 
                    129:        GetSymbolValue("STF_CD_NAME", rgchName, 64);
                    130:        GetSymbolValue("STF_CD_ORG",  rgchOrg,  64);
                    131:        GetSymbolValue("STF_CD_TYPE", rgchType, 16);
                    132: 
                    133:        if (*rgchType == 'N')
                    134:                {
                    135:                if (fNet)
                    136:                        {
                    137:                        SetSymbolValue("EditTextIn", "");
                    138:                        SetSymbolValue("EditFocus",  "");
                    139: LGetOrgDialog:
                    140:                        UIStartDlg(szCuiDll, CDGETORG, "FGetNameDlgProc", 0, "",
                    141:                                        rgchReturn, 32);
                    142: 
                    143:                        if (*rgchReturn == 'C')
                    144:                                {
                    145:                                GetSymbolValue("EditTextOut", rgchTmp, 64);
                    146:                                szTmp = rgchTmp;
                    147:                                while (*szTmp == ' ')
                    148:                                        szTmp++;
                    149:                                lstrcpy(rgchOrg, szTmp);
                    150:                                RightTrim(rgchOrg);
                    151: 
                    152:                                if (*rgchOrg == '\0')
                    153:                                        {
                    154:                                        BadNameOrg(CDBADORG);
                    155:                                        goto LGetOrgDialog;
                    156:                                        }
                    157: 
                    158:                                if (!NameOrgOkay(CDCONFIRMINFO, rgchOrg, ""))
                    159:                                        goto LGetOrgDialog;
                    160: 
                    161:                                SetSymbolValue("STF_CD_ORG", rgchOrg);
                    162:                                fOkay = 1;
                    163:                                }
                    164:                        else if (*rgchReturn == 'R')
                    165:                                goto LGetOrgDialog;
                    166:                        else
                    167:                                SetSymbolValue("STF_CD_TYPE", "ERROR");
                    168:                        UIPop(1);
                    169:                        }
                    170:                else
                    171:                        {
                    172: LGetNameOrgDialog:
                    173:                        UIStartDlg(szCuiDll, CDGETNAMEORG, "FNameOrgDlgProc", 0, "",
                    174:                                        rgchReturn, 32);
                    175: 
                    176:                        if (*rgchReturn == 'C')
                    177:                                {
                    178:                                GetSymbolValue("NameOut", rgchTmp, 64);
                    179:                                szTmp = rgchTmp;
                    180:                                while (*szTmp == ' ')
                    181:                                        szTmp++;
                    182:                                lstrcpy(rgchName, szTmp);
                    183:                                RightTrim(rgchName);
                    184: 
                    185:                                GetSymbolValue("OrgOut", rgchTmp, 64);
                    186:                                szTmp = rgchTmp;
                    187:                                while (*szTmp == ' ')
                    188:                                        szTmp++;
                    189:                                lstrcpy(rgchOrg, szTmp);
                    190:                                RightTrim(rgchOrg);
                    191: 
                    192:                                if (*rgchName == '\0')
                    193:                                        {
                    194:                                        BadNameOrg(CDBADNAME);
                    195:                                        goto LGetNameOrgDialog;
                    196:                                        }
                    197:                                if (*rgchOrg == '\0')
                    198:                                        lstrcpy(rgchOrg, " ");
                    199:                                if (!NameOrgOkay(CDCONFIRMINFO, rgchName, rgchOrg))
                    200:                                        goto LGetNameOrgDialog;
                    201: 
                    202:                                SetSymbolValue("STF_CD_NAME", rgchName);
                    203:                                SetSymbolValue("STF_CD_ORG",  rgchOrg);
                    204:                                fOkay = 1;
                    205:                                }
                    206:                        else
                    207:                                SetSymbolValue("STF_CD_TYPE", "ERROR");
                    208:                        UIPop(1);
                    209:                        }
                    210:                }
                    211:        else if ((*rgchType == 'U') || (*rgchType == 'O'))
                    212:                return(NameOrgOkay(CDALREADYUSED, rgchName, rgchOrg));
                    213:        else if (*rgchType == 'W')
                    214:                {
                    215:                SetSymbolValue("EditTextIn", "");
                    216:                SetSymbolValue("EditFocus",  "");
                    217: LGetNameDialog:
                    218:                UIStartDlg(szCuiDll, CDGETNAME, "FGetNameDlgProc", 0, "",
                    219:                                rgchReturn, 32);
                    220: 
                    221:                if (*rgchReturn == 'C')
                    222:                        {
                    223:                        GetSymbolValue("EditTextOut", rgchTmp, 64);
                    224:                        szTmp = rgchTmp;
                    225:                        while (*szTmp == ' ')
                    226:                                szTmp++;
                    227:                        lstrcpy(rgchName, szTmp);
                    228:                        RightTrim(rgchName);
                    229: 
                    230:                        if (*rgchName == '\0')
                    231:                                {
                    232:                                BadNameOrg(CDBADNAME);
                    233:                                goto LGetNameDialog;
                    234:                                }
                    235: 
                    236:                        if (!NameOrgOkay(CDCONFIRMINFO, rgchName, ""))
                    237:                                goto LGetNameDialog;
                    238: 
                    239:                        SetSymbolValue("STF_CD_NAME", rgchName);
                    240:                        fOkay = 1;
                    241:                        }
                    242:                else if (*rgchReturn == 'R')
                    243:                        goto LGetNameDialog;
                    244:                else
                    245:                        SetSymbolValue("STF_CD_TYPE", "ERROR");
                    246:                UIPop(1);
                    247:                }
                    248:        else
                    249:                {
                    250:                UIStartDlg(szCuiDll, CDBADFILE, "FInfoDlgProc", 0, "",
                    251:                                rgchReturn, 32);
                    252: 
                    253:                if (*rgchReturn == 'C')
                    254:                        fOkay = 1;
                    255:                UIPop(1);
                    256:                }
                    257: 
                    258:        return(fOkay);
                    259: }
                    260: 
                    261: 
                    262: // **************************************************************************
                    263: void FAR PASCAL BadNameOrg(int dlg)
                    264: {
                    265:        char rgchReturn[16];
                    266: 
                    267:        UIStartDlg(szCuiDll, dlg, "FInfoDlgProc", 0, "", rgchReturn, 16);
                    268:        UIPop(1);
                    269: }
                    270: 
                    271: 
                    272: // **************************************************************************
                    273: int FAR PASCAL NameOrgOkay(int dlg, LPSTR szName, LPSTR szOrg)
                    274: {
                    275:        char rgchReturn[16];
                    276: 
                    277:        RemoveSymbol("ConfirmTextIn");
                    278:        AddListItem("ConfirmTextIn", szName);
                    279:        AddListItem("ConfirmTextIn", szOrg);
                    280: 
                    281:        UIStartDlg(szCuiDll, dlg, "FConfirmDlgProc", 0, "", rgchReturn, 16);
                    282:        UIPop(1);
                    283: 
                    284:        if (*rgchReturn == 'C')
                    285:                return(1);
                    286: 
                    287:        return(0);
                    288: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.