ON_PARSE_COMMAND

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

Index