ON_PARSE_COMMAND ( FnName, mapClass, Args )
Parametri
FnName
Il nome della funzione membro. Anche il nome del comando.
mapClass
Il nome della classe per mappare la funzione per.
Args
Gli argomenti che il mapping del parametro FnName. Vedere la sezione Osservazioni per un elenco dei simboli.
Osservazioni
La macro ON_PARSE_COMMAND viene utilizzata in una mappa di analisi per definire un comando a un oggetto CHttpServer da un client.
La funzione membro identificata da FnName deve prendere un puntatore per l' CHttpServerContext come primo parametro. FnName è di tipo LPSTRe viene identificata con il simbolo ITS_LPSTR nella mappa di analisi; cioè, FnName punta a una stringa che contiene la funzione membro in classe mapClass.
Il parametro Args può assumere uno dei seguenti valori:
| Simbolo | Tipo o commento |
| ITS_EMPTY | Args non può essere vuoto. Se non si dispongono argomenti, utilizzare ITS_EMPTY. |
| ITS_PSTR | Un puntatore a una stringa. |
| ITS_RAW | I dati esatti, crudi inviati all'estensione ISAPI. Non utilizzare ITS_RAW con qualsiasi altro tipo di parametro; a tale scopo causerà un' asserzione. Vedere la sezione Osservazioni per un esempio. |
| ITS_I2 | un breve |
| ITS_I4 | un lungo |
| ITS_R4 | un galleggiante |
| ITS_R8 | un doppio |
Esempi
/ / Il followingnbsp; esempio Illustrates estrazione
/ / una stringa e un breve inviati al server:
BEGI&N_PARSE_MAP (CDerivedClass, CHttpServer)
DEFAULT_PARSE_COMMAND (Myfunc, CDerivedClass)
ON_PARSE_COMMAND (Myfunc, CDerivedClass, ITS_PSTR
ITS_I2)
ON_PARSE_COMMAND_PARAMS ("numero intero stringa = 42")
ON_PARSE_COMMAND (Myfunc2, CDerivedClass, ITS_PSTR
ITS_I2 ITS_PSTR)
ON_PARSE_COMMAND_PARAMS ("stringa integer
string2 = 'Valore di Default' ")
END_PARSE_MAP(CDerivedClass)
&Notanbsp; Utilizzare virgolette singole se si incorporano gli spazi nei valori predefiniti per opzionale ITS_PSTRs.
public static void Myfunc (LPTSTR psz&Name, CHttpServerContext * pCtxt, int ndai);
public static void Myfunc2 (CHttpServerContext * pCtxt, LPTSTR pszName, int ndai, LPTSTR pszTitle);
/ / Il followingnbsp; esempio Illustrates estrazione / / dati non elaborati inviati al server:
BEGIN_PARSE_MAP (CDerivedClass, CHttpServer)
DEFAULT_PARSE_COMMAND (Myfunc, CDerivedClass)
ON_PARSE_COMMAND (Myfunc, CDerivedClass, ITS_RAW)
END_PARSE_MAP(CDerivedClass)
con il prototipo di funzione come segue:
public static void CDerivedClass::Myfunc (void * pVoid, DWORD dwBytes, CHttpServerContext * pCtxt)
&Nel secondo esempio di cui sopra, il pVoid puntatore punta ai dati inviati al vostro extension.nbsp; Il dwBytes parametro ha un conteggio di byte in pVoid . Se dwBytes è zero, pVoid può non punta a nulla.
&Notanbsp; I gestori per un comando di mappa di analisi devono prendere un puntatore a un CHttpServerContext come primo parametro e i parametri devono essere dichiarati nello stesso ordine in cui essi sono definiti in ON_PARSE_COMMAND.
Vedere anchenbsp;BEGI&N_PARSE_MAP, END_PARSE_MAP, ON_PARSE_COMMAND_PARAMS, DEFAULT_PARSE_COMMAND, CHttpServer