Changeset 4117 for branches/GRACE/src/win32k/dev32/d32init.c
- Timestamp:
 - Aug 30, 2000, 6:11:33 AM (25 years ago)
 - File:
 - 
      
- 1 edited
 
- 
          
  branches/GRACE/src/win32k/dev32/d32init.c (modified) (11 diffs)
 
 
Legend:
- Unmodified
 - Added
 - Removed
 
- 
      
branches/GRACE/src/win32k/dev32/d32init.c
r4108 r4117 1 /* $Id: d32init.c,v 1.19.4.1 1 2000-08-28 22:44:21bird Exp $1 /* $Id: d32init.c,v 1.19.4.12 2000-08-30 04:11:28 bird Exp $ 2 2 * 3 3 * d32init.c - 32-bits init routines. … … 76 76 void R3TstFixImportTab(void); 77 77 #endif 78 PSZ SECCALL nopSecPathFromSFN(SFN hFile); 78 79 79 80 … … 1054 1055 if (!_aImportTab[i].fFound) 1055 1056 { 1056 kprintf(("VerifyImportTab32: procedure no.%d was not fFound!\n", i)); 1057 return STATUS_DONE | STERR | ERROR_D32_PROC_NOT_FOUND; 1057 if (_aImportTab[i].fType & EPT_NOT_REQ) 1058 continue; 1059 else 1060 { 1061 kprintf(("VerifyImportTab32: procedure no.%d was not fFound!\n", i)); 1062 return STATUS_DONE | STERR | ERROR_D32_PROC_NOT_FOUND; 1063 } 1058 1064 } 1059 1065 … … 1076 1082 1077 1083 #ifndef R3TST 1078 if (_aImportTab[i].ulAddress < 0xff c00000UL)1084 if (_aImportTab[i].ulAddress < 0xff400000UL) 1079 1085 { 1080 1086 kprintf(("VerifyImportTab32: procedure no.%d has an invalid address, %#08x!\n", … … 1084 1090 #endif 1085 1091 1086 switch (_aImportTab[i].fType & ~ EPT_BIT_MASK)1092 switch (_aImportTab[i].fType & ~(EPT_BIT_MASK | EPT_NOT_REQ)) 1087 1093 { 1088 1094 case EPT_PROC: … … 1135 1141 int importTabInit(void) 1136 1142 { 1137 /* This table must be updated with the overloading functions. */ 1143 /* This table must be updated with the overloading functions. 1144 * It should also hold NOP functions for functions which are of the 1145 * not required type. 1146 */ 1138 1147 static unsigned auFuncs[NBR_OF_KRNLIMPORTS] = 1139 1148 { … … 1178 1187 0, /* 38 */ 1179 1188 0, /* 39 */ 1180 0 /* 40 */ 1189 0, /* 40 */ 1190 (unsigned)nopSecPathFromSFN, /* 41 */ 1181 1191 }; 1182 1192 int i; … … 1196 1206 if ((_aImportTab[i].fType & ~EPT_BIT_MASK) == EPT_VARIMPORT) 1197 1207 continue; 1208 /* EPT_NOT_REQ which is not found are set pointing to the nop function provided. */ 1209 if (!_aImportTab[i].fFound && (_aImportTab[i].fType & EPT_NOT_REQ)) 1210 { 1211 _aImportTab[i].ulAddress = auFuncs[i]; 1212 continue; 1213 } 1198 1214 1199 1215 if (EPT32BitEntry(_aImportTab[i])) … … 1219 1235 for (i = 0; i < NBR_OF_KRNLIMPORTS; i++) 1220 1236 { 1221 switch (_aImportTab[i].fType )1237 switch (_aImportTab[i].fType & ~EPT_NOT_REQ) 1222 1238 { 1223 1239 /* … … 1469 1485 {(unsigned)&fakeptda_module, 4}, 1470 1486 {(unsigned)&fakeptda_pBeginLIBPATH, 4}, 1471 {(unsigned)&fakeldrpFileNameBuf, 3} 1487 {(unsigned)&fakeldrpFileNameBuf, 3}, 1488 {(unsigned)&fakeSecPathFromSFN, 3} 1472 1489 }; 1473 1490 int i; … … 1522 1539 #endif 1523 1540 1541 /** 1542 * Dummy nop function if SecPathFromSFN isn't found. 1543 */ 1544 PSZ SECCALL nopSecPathFromSFN(SFN hFile) 1545 { 1546 NOREF(hFile); 1547 return NULL; 1548 }  
  Note:
 See   TracChangeset
 for help on using the changeset viewer.
  