ON_PARSE_COMMAND ( FnName, mapClass, Args )
Parámetros
FnName
El nombre de la función miembro. También el nombre del comando.
mapClass
El nombre de clase para asignar la función de.
Args
Los argumentos que se asignan a del parámetro FnName. Vea la sección Comentarios para obtener una lista de símbolos.
Observaciones
La macro ON_PARSE_COMMAND se utiliza en un mapa de análisis para definir un comando a un objeto CHttpServer desde un cliente.
La función de miembro identificada por FnName debe tener un puntero a la CHttpServerContext como primer parámetro. FnName es del tipo LPSTRy es identificado por el símbolo ITS_LPSTR en el mapa de análisis; es decir, FnName apunta a una cadena que contiene la función de miembro de clase mapClass.
El parámetro Args puede tomar uno de los siguientes valores:
| Símbolo | Tipo o comentario |
| ITS_EMPTY | Args no puede estar en blanco. Utilice ITS_EMPTY si no tienes argumentos. |
| ITS_PSTR | Un puntero a una cadena. |
| ITS_RAW | Los datos exactos, crudos enviados a la extensión ISAPI. No utilice ITS_RAW con cualquier otro tipo de parámetro; para hacerlo, producirá una ASERCIÓN. Vea la sección Comentarios para obtener un ejemplo. |
| ITS_I2 | un corto |
| ITS_I4 | una larga |
| ITS_R4 | un flotador |
| ITS_R8 | un doble |
Ejemplos
/ / Followingnbsp; ejemplo ilustra extracción
/ / una cadena y un corto enviado al servidor:
BEGI&N_PARSE_MAP (CDerivedClass, CHttpServer)
DEFAULT_PARSE_COMMAND Mi_funcion (CDerivedClass)
ON_PARSE_COMMAND (Mi_funcion, CDerivedClass, ITS_PSTR
ITS_I2)
ON_PARSE_COMMAND_PARAMS ("entero de cadena = 42")
ON_PARSE_COMMAND (Myfunc2, CDerivedClass, ITS_PSTR
ITS_I2 ITS_PSTR)
ON_PARSE_COMMAND_PARAMS ("cadena entero
cadena2 = 'Valor por defecto' ")
END_PARSE_MAP(CDerivedClass)
&Notanbsp; Use comillas simples si usted incorporar espacios en los valores predeterminados de s ITS_PSTRopcional.
void Mi_funcion (CHttpServerContext * pCtxt, LPTSTR psz&Name, int nNumber);
void Myfunc2 (CHttpServerContext * pCtxt, LPTSTR pszName, int nNumber, LPTSTR pszTitle);
/ / Followingnbsp; ejemplo ilustra extracción / / datos enviaron al servidor:
BEGIN_PARSE_MAP (CDerivedClass, CHttpServer)
DEFAULT_PARSE_COMMAND Mi_funcion (CDerivedClass)
ON_PARSE_COMMAND (Mi_funcion, CDerivedClass, ITS_RAW)
END_PARSE_MAP(CDerivedClass)
con el prototipo de función como sigue:
void CDerivedClass::Myfunc (CHttpServerContext * pCtxt, void * pVoid, DWORD dwBytes)
E&n el segundo ejemplo anterior, el pVoid puntero apunta a los datos enviados a su extension.nbsp; El dwBytes parámetro tiene un recuento de bytes en pVoid . Si dwBytes es cero, pVoid no puede señalar a nada.
&Notanbsp; Los controladores de un comando de mapa de análisis deben tener un puntero a un CHttpServerContext como primer parámetro, y los parámetros deben declararse en el mismo orden en que están definidos en ON_PARSE_COMMAND.
Vea tambiénnbsp;BEGI&N_PARSE_MAP, END_PARSE_MAP, ON_PARSE_COMMAND_PARAMS, DEFAULT_PARSE_COMMAND, CHttpServer