ON_PARSE_COMMAND ( FnName, mapClass, Args )
Parâmetros
FnName
O nome da função de membro. Também o nome do comando.
mapClass
O nome da classe para mapear a função para.
Args
Os argumentos que mapeiam para do parâmetro FnName. Consulte "Comentários" para obter uma lista de símbolos.
Observações
A macro ON_PARSE_COMMAND é usada em um mapa de análise para definir um comando para um objeto CHttpServer de um cliente.
A função de membro identificada por FnName deve ter um ponteiro CHttpServerContext como seu primeiro parâmetro. FnName é do tipo LPSTRe é identificado com o símbolo ITS_LPSTR no mapa de análise; ou seja, FnName aponta para uma Cadeia de caracteres que contém a função de membro na classe mapClass.
O parâmetro Args pode assumir uma das seguintes valores:
| Símbolo | Tipo ou comentário |
| ITS_EMPTY | Args não pode estar em branco. Use ITS_EMPTY se você tiver sem argumentos. |
| ITS_PSTR | Um ponteiro para uma Cadeia de caracteres. |
| ITS_RAW | Os dados exatos, crus enviados para a extensão ISAPI. Não use ITS_RAW com qualquer outro tipo de parâmetro; para fazer isso irá causar um ASSERT. Consulte "Comentários" para obter um exemplo. |
| ITS_I2 | um curto |
| ITS_I4 | um longo |
| ITS_R4 | um fundo de maneio |
| ITS_R8 | um duplo |
Exemplos
/ / Followingnbsp; exemplo Illustrates extraindo
/ / uma string e um curto enviados para o servidor:
BEGI&N_PARSE_MAP (CDerivedClass, CHttpServer)
DEFAULT_PARSE_COMMAND (Myfunc, CDerivedClass)
ON_PARSE_COMMAND (Myfunc, CDerivedClass, ITS_PSTR
ITS_I2)
ON_PARSE_COMMAND_PARAMS ("número inteiro do seqüência de caracteres = 42")
ON_PARSE_COMMAND (Myfunc2, CDerivedClass, ITS_PSTR
ITS_I2 ITS_PSTR)
ON_PARSE_COMMAND_PARAMS ("seqüência de caracteres inteiro
String2 = 'Valor padrão' ")
END_PARSE_MAP(CDerivedClass)
&Notanbsp; Usar aspas simples se você incorporar espaços para os valores padrão para opcional ITS_PSTRs.
privatevoid Myfunc (CHttpServerContext * pCtxt, LPTSTR psz&Name, int nNumber);
void Myfunc2 (CHttpServerContext * pCtxt, LPTSTR pszName, int nNumber, LPTSTR pszTitle);
/ / Followingnbsp; exemplo Illustrates extraindo / / dados brutos enviados para o servidor:
BEGIN_PARSE_MAP (CDerivedClass, CHttpServer)
DEFAULT_PARSE_COMMAND (Myfunc, CDerivedClass)
ON_PARSE_COMMAND (Myfunc, CDerivedClass, ITS_RAW)
END_PARSE_MAP(CDerivedClass)
com o protótipo de função como segue:
void CDerivedClass::Myfunc (CHttpServerContext * pCtxt, void * pVoid, dwBytes DWORD)
&No segundo exemplo acima, a pVoid ponteiro aponta para os dados enviados para seu extension.nbsp; O dwBytes parâmetro tem uma Contar de bytes em pVoid . Se dwBytes for zero, pVoid não podem apontar para qualquer coisa.
&Notanbsp; Os manipuladores para um comando de mapa de análise devem ter um ponteiro para um CHttpServerContext como o primeiro parâmetro, e os parâmetros devem ser declarados na mesma ordem em que eles estão definidos no ON_PARSE_COMMAND.
Consulte tambémnbsp;BEGI&N_PARSE_MAP, END_PARSE_MAP, ON_PARSE_COMMAND_PARAMS, DEFAULT_PARSE_COMMAND, CHttpServer