CHttpServer::CallFunction

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

Valore restituito

Un valore di uno dei seguenti tipi enum:

Valore enum Descrizione
callOK La chiamata di funzione ha avuto successo.
callParamRequired Mancava un parametro obbligatorio.
callBadParamCount Ci sono stati troppi o troppo pochi parametri.
callBadCommand Il nome del comando non è stato trovato.
callNoStackSpace Nessun spazio dello stack era disponibile.
callNoStream No CHtmlStream era disponibile.
callMissingQuote Un parametro avuto un cattivo formato.
callMissingParams Parametri non erano disponibili.
callBadParam Un parametro avuto un cattivo formato (vale a dire, solo uno testualmente).

Parametri

pCtxt

Puntatore a un oggetto CHttpServerContext.

pszQuery

Puntatore a una query. Specifico per il tipo di comando ricevuto dal client. Per ulteriori informazioni vedere la sezione Osservazioni.

pszCommand

Sia un puntatore a una query o NULL. Specifico per il tipo di comando ricevuto dal client. Per ulteriori informazioni vedere la sezione Osservazioni.

Osservazioni

Chiamato dal framework per trovare ed eseguire la funzione appropriata associata al comando nell'URL.

Di seguito è una scomposizione di parametri e i tipi di metodi ricevuti:

Tipo di metodo. pszQuery pszCommand
OTTIENI Puntatore a una stringa di query EXTENSION_CONTROL_BLOCK struttura. NULL
INSERISCI Puntatore a una query inviato nel corpo del comando. Puntatore a una stringa di query EXTENSION_CONTROL_BLOCK struttura.

&Notanbsp;  Autori di compilare moduli sono invitati a utilizzare solo il metodo POST causa di incoerenze di browser, e perché i metodi GET sono limitati a un buffer di 1024 byte. La scrittura di forme per ISAPI, utilizzare solo il metodo POST oppure progettare l'ISA, in modo che solo la funzione predefinita gestisce la forma.

Per esempio, alcuni browser, l'invio di un modulo via GET con un'azione di:

TestLet.DLL?Comando

troncherà Command e inviare:

TestLet.DLL?name=value

anziché il comando corretto:

TestLet.DLL?Comando? nome = valore

Troncando Command , il browser rimuove l'associazione alla funzione ISA necessaria per eseguire il mapping della richiesta. A meno che la funzione Command è la funzione predefinita, il modulo non verrà gestito correttamente.

Se si desidera gestire l'analisi della funzione di struttura EXTENSION_CONTROL_BLOCK lpszQueryString te stesso, eseguire l'override di CallFunction e non utilizzare le macro PARSE_MAP . Per ulteriori informazioni sull'utilizzo di analisi macro mappa, vedere Mappe di analisi Internet Server API (ISAPI).

Pa&noramica CHttpServer |nbsp; Membri della classe | Gerarchia Chart

Vedere a&nchenbsp;CHttpServerContext, Internet Server API (ISAPI) analizzare mappe

Index