CHttpArgList does not have a base class.
A CHttpArgList object contains a collection of CHttpArg structures and provides functions for enumerating those CHttpArg structures. A CHttpArgList is sent to a parse map function, which uses the ITS_ARGLIST in the ON_PARSE_COMMAND macro for the parameter type.
CHttpServer constructs a single CHttpArgList containing zero, one, or many CHttpArg objects. The CHttpArg objects represent, in order, the individual parameters passed along in the URL which activated your CHttpServer command.
The following URL:
indicates the user's selections for three arguments: "hockey" for the first argument, nothing for the second argument, and a combination of "beer" and "nuts" for the third argument. The user's selection of nothing for the second argument results in CHttpArg::m_pstrValue containing an empty string. The user's two selections for the third argument results in an escaped string, using the RFC escape character
+. See CHttpArgList::Unescape for more information about escaped strings.
The above URL results in a structure of CHttpArgList and CHttpArg objects diagrammed below:
CHttpArgList and CHttpArg Objects
CHttpArg objects can be constructed from arguments having the same name, making ITS_ARGLIST an ideal candidate for server extensions that handle pages containing multiple selection list boxes.
Using CHttpArg structures and a CHttpArgList object improves the flexibility of your parse map macros. The class is well-suited for clients that offer a variable list of arguments, or situations where you want MFC to do some of the parsing but not all of it. See Managing Required and Optional Parameters for more information about parsing parameters.