Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

geninst.h File Reference

Go to the source code of this file.

Functions

BOOLEAN CmpGenInstall (IN PVOID InfHandle, IN PCHAR Section)


Function Documentation

BOOLEAN CmpGenInstall IN PVOID  InfHandle,
IN PCHAR  Section
 

Definition at line 176 of file geninst.c.

References CmpGetKeyName(), CmpGetSectionLineIndex(), CmpSearchInfSection(), FALSE, gInfRuleTable, Name, NULL, NUM_OF_INF_RULES, and TRUE.

Referenced by CmpMatchInfList(), and CmpMatchInstallRule().

00183 : 00184 00185 This routine does a GenInstall of the section in the inf. 00186 00187 Input Parameters: 00188 00189 InfHandle - Handle to the inf to be read. 00190 00191 Section - Name of the section to be read. 00192 00193 Return Value: 00194 00195 TRUE iff the entire section was processed successfully. 00196 00197 --*/ 00198 00199 { 00200 ULONG ruleNumber; 00201 ULONG i; 00202 PCHAR ruleName; 00203 PCHAR regSection; 00204 BOOLEAN result = FALSE; 00205 00206 if (CmpSearchInfSection(InfHandle, Section)) 00207 { 00208 // 00209 // Go through all the rules in the section and try to process 00210 // each of them. 00211 // 00212 00213 for ( ruleNumber = 0; 00214 ruleName = CmpGetKeyName(InfHandle, Section, ruleNumber); 00215 ruleNumber++) 00216 { 00217 00218 // 00219 // Search for the proceesing function in our table. 00220 // 00221 00222 for ( i = 0; 00223 i < NUM_OF_INF_RULES && 00224 _stricmp(ruleName, gInfRuleTable[i].Name); 00225 i++); 00226 00227 if ( i >= NUM_OF_INF_RULES || 00228 (regSection = CmpGetSectionLineIndex( InfHandle, 00229 Section, 00230 ruleNumber, 00231 0)) == NULL || 00232 !CmpSearchInfSection(InfHandle, Section)) 00233 { 00234 result = FALSE; 00235 break; 00236 } 00237 00238 if (!(*gInfRuleTable[i].Action)(InfHandle, regSection, gInfRuleTable[i].RefData)) 00239 { 00240 result = FALSE; 00241 } 00242 } 00243 00244 // 00245 // All inf rules processed. 00246 // 00247 00248 if (ruleNumber) 00249 { 00250 result = TRUE; 00251 } 00252 } 00253 00254 return (result); 00255 }


Generated on Sat May 15 19:43:49 2004 for test by doxygen 1.3.7