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