A detect section is used to assign values to INF variables, or to store constant information for use by shell sections. Typically, the lines of a detect section use the following syntax:
key = value [? LibHandle_or_Path FunctionName [Args]*]
A shell section uses the read-syms or detect commands to cause the Setup program to interpret the lines of a detect section. The read-syms command creates a variable named key and assigns the string in value to it. The value string can be a literal string, or it can include other INF variables, in which case, the Setup program performs the variable substitution. INF variables used in a detect section can be any local or global variable accessible to the shell section that called read-syms. The detect command ignores all lines that do not contain the question mark (?) operator. For lines with this operator, it assigns to key the string returned by the specified DLL function.