CHttpServer::CallFunction

virtual int CallFunction (CHttpServerContext * pCtxt, LPTSTR pszQuery, LPTSTR pszCommand );

Valor de retorno

Um valor de um dos seguintes tipos de enum:

Valor de enum Descrição
callOK A chamada de função foi bem-sucedida.
callParamRequired Um parâmetro necessário estava faltando.
callBadParamCount Havia muitos ou poucos parâmetros.
callBadCommand O nome do comando não foi encontrado.
callNoStackSpace Não há espaço de pilha estava disponível.
callNoStream Nenhum CHtmlStream estava disponível.
callMissingQuote Um parâmetro tinha um formato incorreto.
callMissingParams Dispunha-se sem parâmetros.
callBadParam Um parâmetro tinha um formato incorreto (ou seja, apenas uma citação).

Parâmetros

pCtxt

Ponteiro para um objeto CHttpServerContext.

pszQuery

Um ponteiro para uma consulta. Específicas para o tipo de comando recebido do cliente. Consulte comentários para obter mais informações.

pszCommand

Um ponteiro para uma consulta ou NULL. Específicas para o tipo de comando recebido do cliente. Consulte comentários para obter mais informações.

Observações

Chamado pela estrutura para localizar e executar a função apropriada associada ao comando na URL.

Abaixo está uma discriminação entre os parâmetros e os tipos de métodos recebidos:

Tipo de método pszQuery pszCommand
OBTER Um ponteiro para o seqüência de caracteres de consulta de estrutura EXTENSION_CONTROL_BLOCK. NULO
POSTAR Um ponteiro para uma consulta enviada no corpo do comando. Ponteiro para o seqüência de caracteres de consulta de estrutura EXTENSION_CONTROL_BLOCK.

&Notanbsp;  Autores de preencher formulários são aconselhados a usar apenas o método POST por causa de inconsistências navegador, e como obter métodos são limitados a um buffer de 1024 bytes. Ao escrever formulários para ISAPI, use apenas o método POST ou projetar o ISA para que somente a função padrão manipula o formulário.

Por exemplo, alguns navegadores enviando um formulário via GET com uma ação de:

TestLet.DLL?Comando

irá truncar Command e enviar:

TestLet.DLL?name=value

em vez do comando correto:

TestLet.DLL?Comando? nome = valor

Truncando Command , o navegador remove a associação à função de ISA necessárias para mapear a solicitação. A menos que a função Command é a função padrão, o formulário não será manipulado corretamente.

Se você deseja manipular a análise do EXTENSION_CONTROL_BLOCK estrutura função lpszQueryString sozinho, substituir CallFunction e não usar as macros PARSE_MAP . Consulte Maps Parse Internet servidor API (ISAPI) para obter mais informações sobre como usar as macros de mapa de análise.

Visão geral de CHttpServerMembros de classe | Gráfico de hierarquia

Co&nsulte tambémnbsp;CHttpServerContext, Maps Parse Internet servidor API (ISAPI)

Index