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 з будь-який інший тип параметра; Щоб зробити це призведе до НАДБАННЯ. Перегляньте зауваження для прикладу. |
| 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.
недійсним Myfunc (CHttpServerContext * pCtxt, LPTSTR psz&Name, int nNumber);
втрати 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)
з наступним чином, прототип функції:
втрати CDerivedClass::Myfunc (CHttpServerContext * pCtxt, порожнечу * pVoid, DWORD dwBytes)
У другому прикладі вище в pVoid вказівник вказує на дані, які надсилаються до вашого exte&nsion.nbsp; На dwBytes параметр має лічильник байтів в pVoid . Якщо dwBytes дорівнює нулю, pVoid не може вказувати на що-небудь.
Приміткаnbsp; Обробників для розбору карта команди повинні взяти вказівник до CHttpServerContext як перший параметр, і параметри повинні бути оголошені в тому самому порядку, в якому вони визначені в O&N_PARSE_COMMAND.
Дивіться такожnbsp;BEGI&N_PARSE_MAP, END_PARSE_MAP, ON_PARSE_COMMAND_PARAMS, DEFAULT_PARSE_COMMAND, CHttpServer