ON_PARSE_COMMAND ( FnName, mapClass, Args )
Параметры
FnName
Имя функции-члена. Также имя команды.
mapClass
Имя класса для сопоставления функции для.
Args
Аргументы, которые сопоставляются с параметром FnName. Смотрите примечания список символов.
Примечания
ON_PARSE_COMMAND используется макрос в карте синтаксического анализа для определения команды к объекту CHttpServer от клиента.
Функция-член, определенных FnName должны принимать указатель CHttpServerContext качестве его первого параметра. FnName имеет тип LPSTRи обозначается символом ITS_LPSTR разбора карты; то есть FnName указывает на строку, содержащую функцию-член класса mapClass.
Параметр Args может принимать одно из следующих значений:
| Символ | Тип или комментарий |
| ITS_EMPTY | Параметр args не может быть пустым. Если у вас есть аргументы не используйте ITS_EMPTY. |
| ITS_PSTR | Указатель на строку. |
| ITS_RAW | Точно, необработанные данные, отправляемые расширение ISAPI. Не следует использовать ITS_RAW с любым другим типом параметра; Это вызовет метод ASSERT. В качестве примера см. примечания. |
| ITS_I2 | короткий |
| ITS_I4 | лонг |
| ITS_R4 | значение с плавающей запятой |
| ITS_R8 | двойной |
Примеры
/ / Followingnbsp; Пример Illustrates извлечение
/ / строка и короткие, отправляемых на сервер:
BEGI&N_PARSE_MAP (CDerivedClass, CHttpServer)
DEFAULT_PARSE_COMMAND (Myfunc, CDerivedClass)
ON_PARSE_COMMAND (Myfunc, CDerivedClass, ITS_PSTR
ITS_I2)
ON_PARSE_COMMAND_PARAMS ("целое число строк = 42")
ON_PARSE_COMMAND (Myfunc2, CDerivedClass, ITS_PSTR
ITS_I2 ITS_PSTR)
ON_PARSE_COMMAND_PARAMS ("строка целое
строка2 = «Значение по умолчанию» ")
END_PARSE_MAP(CDerivedClass)
Примечание Использовать одинарные кавычки, если включить пространства в значения по умолчанию для факультативных ITS_PSTRs.
void Myfunc (CHttpServerContext * pCtxt, LPTSTR psz&Name, int nNumber);
void Myfunc2 (CHttpServerContext * pCtxt LPTSTR pszName int nNumber, LPTSTR pszTitle);
/ / Followingnbsp; Пример извлечения Illustrates / / необработанные данные отправляются на сервер:
BEGIN_PARSE_MAP (CDerivedClass, CHttpServer)
DEFAULT_PARSE_COMMAND (Myfunc, CDerivedClass)
ON_PARSE_COMMAND (Myfunc, CDerivedClass, ITS_RAW)
END_PARSE_MAP(CDerivedClass)
с прототипом функции следующим образом:
void CDerivedClass::Myfunc (CHttpServerContext * pCtxt, void * pVoid, DWORD dwBytes)
Во втором примере выше pVoid Указатель указывает данные, отправленные на ваш exte&nsion.nbsp; dwBytesПараметр содержит количество байтов в pVoid . Если dwBytes равен нулю, pVoid не может ссылаться на что-либо.
Примечаниеnbsp; Обработчики для команды map разбора должны принимать указатель для CHttpServerContext в качестве первого параметра, и параметры должны быть объявлены в том же порядке, в котором они определены в O&N_PARSE_COMMAND.
См. такжеnbsp;BEGI&N_PARSE_MAP, END_PARSE_MAP, ON_PARSE_COMMAND_PARAMS, DEFAULT_PARSE_COMMAND, CHttpServer