ON_PARSE_COMMAND

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

Index